local_backend: true

backend:
  name: github
  repo: charmeacademy/charmepatisserie-ui
  branch: main
  base_url: https://oauth.lecharmepatisserie.tn

media_folder: public/assets
public_folder: /assets

# ---------------------------------------------------------------------------
# i18n — two locales, French default
# multiple_folders: each locale lives in its own subfolder, e.g.
#   src/content/formations/fr/cap-patisserie.md
#   src/content/formations/ar/cap-patisserie.md
# ---------------------------------------------------------------------------
i18n:
  structure: multiple_folders
  locales: [fr, ar]
  default_locale: fr

collections:

  # ═══════════════════════════════════════════════════════════════════════════
  # FORMATIONS
  # ═══════════════════════════════════════════════════════════════════════════
  - name: formations
    label: Formations
    label_singular: Formation
    folder: src/content/formations
    create: true
    slug: "{{slug}}"
    i18n: true
    fields:
      - name: title
        label: Titre
        widget: string
        i18n: true
        hint: "Nom de la formation tel qu'il apparait sur la carte et la page detail"
      - name: description
        label: Description
        widget: text
        i18n: true
        hint: "Resume court affiche sous le titre sur la carte de formation (2-3 phrases)"
      - name: meta_title
        label: "Titre SEO (optionnel)"
        widget: string
        required: false
        i18n: true
        hint: "Titre personnalise pour l'onglet navigateur et les moteurs de recherche. Laisser vide pour utiliser le titre de la formation"
      - name: meta_description
        label: "Description SEO (optionnel)"
        widget: text
        required: false
        i18n: true
        hint: "Description pour les moteurs de recherche (max 160 caracteres). Laisser vide pour utiliser la description"
      - name: cover_image
        label: Image de couverture
        widget: image
        required: false
        i18n: true
        hint: "Image principale de la formation. Format paysage 16:9 recommande, min 1200x675px"
      - name: duration
        label: "Duree"
        widget: object
        i18n: true
        hint: "Duree totale de la formation affichee sur la carte"
        fields:
          - name: value
            label: Valeur
            widget: string
            hint: "Nombre (ex: 6, 12, 3)"
          - name: unit
            label: "Unite"
            widget: select
            options: [mois, semaines, jours, "s\xE9ances"]
            hint: "Unite de temps"
      - name: rhythm
        label: Rythme
        widget: string
        i18n: true
        hint: "Frequence des cours (ex: 3 jours/semaine, temps plein)"
      - name: group_size
        label: Taille groupe
        widget: number
        default: 12
        i18n: true
        hint: "Nombre maximum d'eleves par groupe"
      - name: certification
        label: Certification
        widget: string
        required: false
        i18n: true
        hint: "Nom du diplome ou certificat delivre a la fin de la formation"
      - name: pricing
        label: Tarifs
        widget: object
        i18n: true
        hint: "Tarification affichee sur la carte de formation"
        fields:
          - name: total
            label: Total (TND)
            widget: number
            hint: "Prix total de la formation en dinars tunisiens"
          - name: monthly
            label: Mensuel (TND)
            widget: number
            required: false
            hint: "Montant de la mensualite si paiement echelonne"
      - name: practical_modules
        label: Modules pratiques
        widget: list
        i18n: true
        hint: "Liste des modules pratiques (ex: Patisserie de base, Viennoiserie, Chocolaterie)"
      - name: entrepreneurial_modules
        label: Modules entrepreneuriat
        widget: list
        i18n: true
        hint: "Liste des modules business (ex: Gestion, Marketing, Hygiene HACCP)"
      - name: outcomes
        label: "Competences acquises"
        widget: list
        i18n: true
        hint: "Liste des competences que l'eleve maitrisera en fin de formation"
      - name: outcomes_footer
        label: "Note competences"
        widget: string
        required: false
        i18n: true
        hint: "Texte en italique affiche sous la liste des competences acquises (optionnel)"
      - name: published
        label: "Publie"
        widget: boolean
        default: true
        i18n: true
        hint: "Desactiver pour masquer la formation du site sans la supprimer"
      - name: slug
        label: Slug (URL)
        widget: string
        required: false
        i18n: duplicate
        hint: "Identifiant URL (genere automatiquement depuis le nom de fichier si vide)"
      - name: video_url
        label: "Video (YouTube / Vimeo)"
        widget: string
        required: false
        i18n: true
        hint: "URL YouTube ou Vimeo pour la section video de la page detail"
      - name: video_headline
        label: "Titre section video"
        widget: string
        required: false
        i18n: true
        hint: "Titre personnalise pour la section video de cette formation. Laisser vide pour utiliser le titre par defaut"
      - name: video_sub
        label: "Sous-titre section video"
        widget: text
        required: false
        i18n: true
        hint: "Sous-titre personnalise pour la section video de cette formation. Laisser vide pour utiliser le texte par defaut"
      - name: long_description
        label: "Description longue"
        widget: markdown
        required: false
        i18n: true
        hint: "Texte detaille affiche sur la page individuelle. Laisser vide pour utiliser le contenu principal (body)"
      - name: long_description_2
        label: "Description longue (2e bloc)"
        widget: markdown
        required: false
        i18n: true
        hint: "Second bloc de texte detaille, affiche avec les modules entrepreneuriat en sidebar"
      - name: highlights
        label: "📋 CE QUE VOUS APPRENDREZ — Sessions / Modules affiches sur la page"
        widget: list
        i18n: true
        required: false
        collapsed: false
        label_singular: "Session"
        summary: "{{fields.title}}"
        hint: "Chaque entree apparait comme une carte dans la section 'Ce que vous apprendrez' sur la page de la formation. Ajoutez, modifiez ou reordonnez les sessions ici."
        fields:
          - { name: title, label: "Nom de la session", widget: string, hint: "Ex: Gateau Design, Viennoiserie, Patisserie tunisienne" }
          - { name: body, label: "Description de la session", widget: text, hint: "Decrivez ce que l'eleve apprendra dans cette session (2-4 phrases)" }
          - { name: image, label: "Image principale", widget: image, hint: "Format paysage 4:3 recommande" }
          - name: images
            label: "Images supplementaires (diaporama)"
            widget: list
            required: false
            field: { name: src, label: Image, widget: image }
            hint: "Images supplementaires pour l'effet diaporama. Laisser vide pour utiliser l'image principale seule"
      - name: body
        label: Contenu
        widget: markdown
        i18n: true
        hint: "Description detaillee affichee sur la page individuelle de la formation. Supporte le formatage Markdown"

  # ═══════════════════════════════════════════════════════════════════════════
  # FORMATEURS
  # ═══════════════════════════════════════════════════════════════════════════
  - name: formateurs
    label: Formateurs
    label_singular: Formateur
    folder: src/content/formateurs
    create: true
    slug: "{{slug}}"
    i18n: true
    fields:
      - name: name
        label: Nom
        widget: string
        i18n: true
        hint: "Nom complet du formateur tel qu'affiche sur le site"
      - name: slug
        label: Slug
        widget: string
        required: false
        i18n: false
        hint: "Identifiant URL (genere automatiquement si vide). Ex: chef-ahmed"
      - name: role
        label: "Role"
        widget: string
        i18n: true
        hint: "Titre professionnel (ex: Chef Patissier, Maitre Chocolatier)"
      - name: meta_title
        label: "Titre SEO (optionnel)"
        widget: string
        required: false
        i18n: true
        hint: "Titre pour les moteurs de recherche. Laisser vide pour utiliser le nom"
      - name: meta_description
        label: "Description SEO (optionnel)"
        widget: text
        required: false
        i18n: true
        hint: "Description pour les moteurs de recherche (max 160 caracteres)"
      - name: photo
        label: Photo
        widget: image
        required: false
        i18n: true
        hint: "Photo portrait du formateur. Format carre recommande, min 400x400px"
      - name: cover_photo
        label: Photo de couverture
        widget: image
        required: false
        i18n: true
        hint: "Photo de couverture pour la page detail. Format paysage, min 1200x600px"
      - name: years_experience
        label: "Annees experience"
        widget: number
        required: false
        i18n: true
        hint: "Nombre d'annees d'experience professionnelle"
      - name: specialties
        label: "Specialites"
        widget: list
        i18n: true
        hint: "Liste des specialites (ex: Patisserie fine, Chocolaterie, Viennoiserie)"
      - name: credentials
        label: "Diplomes"
        widget: list
        i18n: true
        hint: "Liste des diplomes et certifications (ex: CAP Patissier, BTM Chocolatier)"
      - name: experiences
        label: "Experiences"
        widget: list
        i18n: true
        hint: "Liste des experiences professionnelles notables"
        fields:
          - { name: period, label: "Periode", widget: string, hint: "Ex: 2020-2023" }
          - { name: position, label: "Poste", widget: string, hint: "Ex: Chef patissier" }
          - { name: company, label: "Etablissement", widget: string, hint: "Ex: Le Bristol Paris" }
      - name: order
        label: Ordre affichage
        widget: number
        default: 99
        i18n: true
        hint: "Ordre d'affichage dans la grille (1 = premier, 99 = dernier)"
      - name: published
        label: "Publie"
        widget: boolean
        default: true
        i18n: true
        hint: "Desactiver pour masquer le formateur du site sans le supprimer"
      - name: body
        label: Biographie
        widget: markdown
        i18n: true
        hint: "Biographie complete affichee sur la page detail du formateur. Supporte le Markdown"

  # ═══════════════════════════════════════════════════════════════════════════
  # TEMOIGNAGES
  # ═══════════════════════════════════════════════════════════════════════════
  - name: temoignages
    label: "Temoignages"
    label_singular: "Temoignage"
    folder: src/content/temoignages
    create: true
    slug: "{{slug}}"
    i18n: true
    fields:
      - name: author
        label: Auteur
        widget: string
        i18n: true
        hint: "Nom de l'auteur du temoignage"
      - name: author_photo
        label: Photo auteur
        widget: image
        required: false
        i18n: true
        hint: "Photo de l'auteur. Format carre recommande, min 200x200px"
      - name: rating
        label: Note
        widget: select
        options: ["1","2","3","4","5"]
        default: "5"
        i18n: true
        hint: "Note de satisfaction de 1 a 5 etoiles"
      - name: formation
        label: Formation suivie
        widget: string
        required: false
        i18n: true
        hint: "Nom de la formation suivie par cet eleve (ex: CAP Patisserie)"
      - name: headline
        label: Accroche
        widget: string
        required: false
        i18n: true
        hint: "Courte accroche affichee en gras (ex: Du zero au CAP en 6 mois)"
      - name: images
        label: Images
        widget: list
        required: false
        i18n: true
        hint: "2 images par temoignage. Les temoignages sont groupes par 2 : leurs images apparaissent comme cartes visuelles dans le carrousel"
        field:
          name: image
          label: Image
          widget: image
      - name: published
        label: "Publie"
        widget: boolean
        default: true
        i18n: true
        hint: "Desactiver pour masquer le temoignage du site"
      - name: body
        label: "Temoignage"
        widget: markdown
        i18n: true
        hint: "Texte du temoignage. Supporte le formatage Markdown"

  # ═══════════════════════════════════════════════════════════════════════════
  # INSIGHTS (articles)
  # ═══════════════════════════════════════════════════════════════════════════
  - name: insights
    label: Insights
    label_singular: Insight
    folder: src/content/insights
    create: true
    slug: "{{slug}}"
    i18n: true
    fields:
      - name: title
        label: Titre
        widget: string
        i18n: true
        hint: "Titre de l'article affiche en en-tete et sur la carte"
      - name: excerpt
        label: Extrait
        widget: text
        i18n: true
        hint: "Resume court affiche sur la carte d'apercu (2-3 phrases)"
      - name: meta_title
        label: "Titre SEO (optionnel)"
        widget: string
        required: false
        i18n: true
        hint: "Titre pour les moteurs de recherche. Laisser vide pour utiliser le titre de l'article"
      - name: meta_description
        label: "Description SEO (optionnel)"
        widget: text
        required: false
        i18n: true
        hint: "Description pour les moteurs de recherche (max 160 caracteres)"
      - name: category
        label: "Categorie"
        widget: select
        options: [technique, conseils, tendances]
        i18n: true
        hint: "Categorie de l'article: technique (recettes/methodes), conseils (astuces pro), tendances (nouveautes du secteur)"
      - name: cover_image
        label: Image de couverture
        widget: image
        required: false
        i18n: true
        hint: "Image principale de l'article. Format paysage 16:9 recommande, min 1200x675px. Si absente, l'image par defaut de la categorie sera utilisee"
      - name: published
        label: "Publie"
        widget: boolean
        default: true
        i18n: true
        hint: "Desactiver pour masquer l'article du site"
      - name: body
        label: Contenu
        widget: markdown
        i18n: true
        hint: "Contenu complet de l'article. Supporte le formatage Markdown, images et liens"

  # ═══════════════════════════════════════════════════════════════════════════
  # PAGES (file collection)
  # FR/AR text fields are interleaved side-by-side using the _ar suffix
  # convention. Images and links have no _ar counterpart.
  # ═══════════════════════════════════════════════════════════════════════════
  - name: pages
    label: Pages
    files:

      # ────────────────────────────────────────────────────────────────────
      # ACCUEIL
      # ────────────────────────────────────────────────────────────────────
      - name: home
        label: Accueil
        file: src/content/pages/home.json
        fields:

          # 1. HERO BANNER
          - name: hero
            label: "1. Banniere Hero"
            widget: object
            collapsed: false
            required: false
            hint: "Premiere section visible: image chef, liens, et textes du hero"
            fields:
              - { name: hero_chef, label: "Image chef", widget: image, required: false, hint: "Photo du chef dans la banniere hero. Format portrait, min 800x1000px" }
              - { name: hero_poster, label: "Poster video", widget: image, required: false, hint: "Image d'apercu avant lecture de la video. Format 16:9, min 1200x675px" }
              - { name: whatsapp_url, label: "URL WhatsApp", widget: string, required: false, hint: "Lien WhatsApp pour le bouton de contact (format: https://wa.me/216XXXXXXXX)" }
              - { name: academy_url, label: "URL Academy", widget: string, required: false, hint: "Lien vers le site de l'academie partenaire" }
              - { name: video_url, label: "URL video", widget: string, required: false, hint: "URL YouTube de la video hero (ex: https://youtube.com/watch?v=...)" }
              - { name: label, label: "Sur-titre (FR)", widget: string, required: false }
              - { name: label_ar, label: "العنوان الفرعي (AR)", widget: string, required: false }
              - { name: headline, label: "Titre principal (FR)", widget: string, required: false }
              - { name: headline_ar, label: "العنوان الرئيسي (AR)", widget: string, required: false }
              - { name: sub, label: "Sous-titre (FR)", widget: text, required: false }
              - { name: sub_ar, label: "النص الفرعي (AR)", widget: text, required: false }
              - { name: tagline, label: "Accroche (FR)", widget: string, required: false }
              - { name: tagline_ar, label: "الشعار (AR)", widget: string, required: false }
              - { name: bullet_1, label: "Point 1 (FR)", widget: string, required: false }
              - { name: bullet_1_ar, label: "نقطة 1 (AR)", widget: string, required: false }
              - { name: bullet_2, label: "Point 2 (FR)", widget: string, required: false }
              - { name: bullet_2_ar, label: "نقطة 2 (AR)", widget: string, required: false }
              - { name: bullet_3, label: "Point 3 (FR)", widget: string, required: false }
              - { name: bullet_3_ar, label: "نقطة 3 (AR)", widget: string, required: false }
              - { name: bullet_4, label: "Point 4 (FR)", widget: string, required: false }
              - { name: bullet_4_ar, label: "نقطة 4 (AR)", widget: string, required: false }
              - { name: cta_primary, label: "Bouton principal (FR)", widget: string, required: false }
              - { name: cta_primary_ar, label: "الزر الرئيسي (AR)", widget: string, required: false }
              - { name: cta_secondary, label: "Bouton secondaire (FR)", widget: string, required: false }
              - { name: cta_secondary_ar, label: "الزر الثانوي (AR)", widget: string, required: false }
              - { name: scroll_hint, label: "Indice defilement (FR)", widget: string, required: false }
              - { name: scroll_hint_ar, label: "تلميح التمرير (AR)", widget: string, required: false }
              - { name: trust_years, label: "Stat — annees (FR)", widget: string, required: false }
              - { name: trust_years_ar, label: "إحصاء — سنوات (AR)", widget: string, required: false }
              - { name: trust_years_label, label: "Stat — label annees (FR)", widget: string, required: false }
              - { name: trust_years_label_ar, label: "إحصاء — تسمية سنوات (AR)", widget: string, required: false }
              - { name: trust_students, label: "Stat — eleves (FR)", widget: string, required: false }
              - { name: trust_students_ar, label: "إحصاء — طلاب (AR)", widget: string, required: false }
              - { name: trust_students_label, label: "Stat — label eleves (FR)", widget: string, required: false }
              - { name: trust_students_label_ar, label: "إحصاء — تسمية طلاب (AR)", widget: string, required: false }
              - { name: trust_cert, label: "Stat — certification (FR)", widget: string, required: false }
              - { name: trust_cert_ar, label: "إحصاء — شهادة (AR)", widget: string, required: false }
              - { name: trust_cert_label, label: "Stat — label certification (FR)", widget: string, required: false }
              - { name: trust_cert_label_ar, label: "إحصاء — تسمية شهادة (AR)", widget: string, required: false }
              - { name: trust_sat, label: "Stat — satisfaction (FR)", widget: string, required: false }
              - { name: trust_sat_ar, label: "إحصاء — رضا (AR)", widget: string, required: false }
              - { name: trust_sat_label, label: "Stat — label satisfaction (FR)", widget: string, required: false }
              - { name: trust_sat_label_ar, label: "إحصاء — تسمية رضا (AR)", widget: string, required: false }
              - { name: trust_platform, label: "Stat — plateforme (FR)", widget: string, required: false }
              - { name: trust_platform_ar, label: "إحصاء — منصة (AR)", widget: string, required: false }
              - { name: trust_platform_label, label: "Stat — label plateforme (FR)", widget: string, required: false }
              - { name: trust_platform_label_ar, label: "إحصاء — تسمية منصة (AR)", widget: string, required: false }
              - { name: statistics, label: "Statistiques texte (FR)", widget: string, required: false, hint: "Texte resume des statistiques" }
              - { name: statistics_ar, label: "نص الإحصائيات (AR)", widget: string, required: false }

          # 2. INSTRUCTOR CAROUSEL
          - name: instructors
            label: "2. Carrousel formateurs"
            widget: object
            collapsed: true
            required: false
            hint: "Section presentant les formateurs en carrousel"
            fields:
              - { name: label, label: "Sur-titre (FR)", widget: string, required: false }
              - { name: label_ar, label: "العنوان الفرعي (AR)", widget: string, required: false }
              - { name: headline, label: "Titre (FR)", widget: string, required: false }
              - { name: headline_ar, label: "العنوان (AR)", widget: string, required: false }
              - { name: sub, label: "Sous-titre (FR)", widget: text, required: false }
              - { name: sub_ar, label: "النص الفرعي (AR)", widget: text, required: false }
              - { name: experience_suffix, label: "Suffixe experience (FR)", widget: string, required: false }
              - { name: experience_suffix_ar, label: "لاحقة الخبرة (AR)", widget: string, required: false }

          # 2b. SESSIONS TECHNIQUES (cards with images)
          - name: technical_sessions
            label: "2b. Sessions techniques"
            widget: object
            collapsed: true
            required: false
            hint: "Cartes de formations avec images, textes et statistiques"
            fields:
              - { name: label, label: "Sur-titre (FR)", widget: string, required: false }
              - { name: label_ar, label: "العنوان الفرعي (AR)", widget: string, required: false }
              - { name: headline, label: "Titre (FR)", widget: string, required: false }
              - { name: headline_ar, label: "العنوان (AR)", widget: string, required: false }
              - { name: sub, label: "Sous-titre (FR)", widget: string, required: false }
              - { name: sub_ar, label: "النص الفرعي (AR)", widget: string, required: false }
              - { name: body, label: "Texte (FR)", widget: text, required: false }
              - { name: body_ar, label: "النص (AR)", widget: text, required: false }
              - { name: discover_cta, label: "Bouton decouvrir (FR)", widget: string, required: false, hint: "Texte du bouton principal de chaque carte (ex: Decouvrir la formation)" }
              - { name: discover_cta_ar, label: "زر اكتشاف (AR)", widget: string, required: false }
              - { name: booking_cta, label: "Bouton reservation (FR)", widget: string, required: false, hint: "Texte du bouton secondaire (ex: Reserver un entretien)" }
              - { name: booking_cta_ar, label: "زر الحجز (AR)", widget: string, required: false }
              - name: cards
                label: "Cartes formations"
                widget: list
                hint: "Cartes de formation avec image, texte et lien"
                fields:
                  - { name: title, label: "Titre (FR)", widget: string }
                  - { name: title_ar, label: "العنوان (AR)", widget: string, required: false }
                  - { name: subtitle, label: "Sous-titre (FR)", widget: string, required: false }
                  - { name: subtitle_ar, label: "النص الفرعي (AR)", widget: string, required: false }
                  - { name: description, label: "Description (FR)", widget: text }
                  - { name: description_ar, label: "الوصف (AR)", widget: text, required: false }
                  - { name: stats, label: "Statistiques (FR)", widget: string, required: false }
                  - { name: stats_ar, label: "الإحصائيات (AR)", widget: string, required: false }
                  - { name: link, label: "Lien (slug)", widget: string, required: false, hint: "Chemin relatif vers la page formation (ex: apprentissages/patissier-entrepreneur-intensif)" }
                  - { name: image, label: "Image", widget: image, required: false, hint: "Image de la carte. Format paysage 16:9, min 800x450px" }
                  - { name: image_alt, label: "Alt image", widget: string, required: false, hint: "Texte alternatif pour l'accessibilite" }

          # 3. FEATURES GRID (images + text)
          - name: features
            label: "3. Grille competences"
            widget: object
            collapsed: true
            required: false
            hint: "Images et textes de la grille de competences (2 cartes x 2 images)"
            fields:
              - name: images
                label: "Images (4)"
                widget: list
                hint: "4 images pour la grille. Format carre ou 4:3, min 600x450px"
                field: { name: image, label: Image, widget: image }
              - { name: card1_img1_title, label: "Carte 1 img 1 titre (FR)", widget: string, required: false }
              - { name: card1_img1_title_ar, label: "بطاقة 1 صورة 1 — عنوان (AR)", widget: string, required: false }
              - { name: card1_img1_body, label: "Carte 1 img 1 texte (FR)", widget: text, required: false }
              - { name: card1_img1_body_ar, label: "بطاقة 1 صورة 1 — نص (AR)", widget: text, required: false }
              - { name: card1_img2_title, label: "Carte 1 img 2 titre (FR)", widget: string, required: false }
              - { name: card1_img2_title_ar, label: "بطاقة 1 صورة 2 — عنوان (AR)", widget: string, required: false }
              - { name: card1_img2_body, label: "Carte 1 img 2 texte (FR)", widget: text, required: false }
              - { name: card1_img2_body_ar, label: "بطاقة 1 صورة 2 — نص (AR)", widget: text, required: false }
              - { name: card2_img1_title, label: "Carte 2 img 1 titre (FR)", widget: string, required: false }
              - { name: card2_img1_title_ar, label: "بطاقة 2 صورة 1 — عنوان (AR)", widget: string, required: false }
              - { name: card2_img1_body, label: "Carte 2 img 1 texte (FR)", widget: text, required: false }
              - { name: card2_img1_body_ar, label: "بطاقة 2 صورة 1 — نص (AR)", widget: text, required: false }
              - { name: card2_img2_title, label: "Carte 2 img 2 titre (FR)", widget: string, required: false }
              - { name: card2_img2_title_ar, label: "بطاقة 2 صورة 2 — عنوان (AR)", widget: string, required: false }
              - { name: card2_img2_body, label: "Carte 2 img 2 texte (FR)", widget: text, required: false }
              - { name: card2_img2_body_ar, label: "بطاقة 2 صورة 2 — نص (AR)", widget: text, required: false }

          # 4. VIDEO SECTION
          - name: video
            label: "4. Section video"
            widget: object
            collapsed: true
            required: false
            hint: "Textes de la section video. L'URL de la video est dans la section Hero ci-dessus"
            fields:
              - { name: label, label: "Sur-titre (FR)", widget: string, required: false }
              - { name: label_ar, label: "العنوان الفرعي (AR)", widget: string, required: false }
              - { name: headline, label: "Titre (FR)", widget: string, required: false }
              - { name: headline_ar, label: "العنوان (AR)", widget: string, required: false }
              - { name: sub, label: "Sous-titre (FR)", widget: text, required: false }
              - { name: sub_ar, label: "النص الفرعي (AR)", widget: text, required: false }
              - { name: cta, label: "Bouton (FR)", widget: string, required: false }
              - { name: cta_ar, label: "زر CTA (AR)", widget: string, required: false }

          # 5. VALUE PROPOSITION
          - name: value_prop
            label: "5. Proposition de valeur"
            widget: object
            collapsed: true
            required: false
            hint: "Section mettant en avant la valeur unique de l'ecole"
            fields:
              - { name: label, label: "Sur-titre (FR)", widget: string, required: false }
              - { name: label_ar, label: "العنوان الفرعي (AR)", widget: string, required: false }
              - { name: headline_1, label: "Titre ligne 1 (FR)", widget: string, required: false }
              - { name: headline_1_ar, label: "العنوان سطر 1 (AR)", widget: string, required: false }
              - { name: headline_2, label: "Titre ligne 2 (FR)", widget: string, required: false }
              - { name: headline_2_ar, label: "العنوان سطر 2 (AR)", widget: string, required: false }
              - { name: headline_3, label: "Titre ligne 3 (FR)", widget: string, required: false }
              - { name: headline_3_ar, label: "العنوان سطر 3 (AR)", widget: string, required: false }
              - { name: body, label: "Texte (FR)", widget: text, required: false }
              - { name: body_ar, label: "النص (AR)", widget: text, required: false }
              - { name: cta, label: "Bouton (FR)", widget: string, required: false }
              - { name: cta_ar, label: "زر CTA (AR)", widget: string, required: false }

          # 5b. TRANSITION CARRIERE
          - name: career_transition
            label: "5b. Transition carriere"
            widget: object
            collapsed: true
            required: false
            hint: "Section encourageant la reconversion professionnelle"
            fields:
              - { name: label, label: "Sur-titre (FR)", widget: string, required: false }
              - { name: label_ar, label: "العنوان الفرعي (AR)", widget: string, required: false }
              - { name: headline, label: "Titre (FR)", widget: string, required: false }
              - { name: headline_ar, label: "العنوان (AR)", widget: string, required: false }
              - { name: sub, label: "Sous-titre (FR)", widget: string, required: false }
              - { name: sub_ar, label: "النص الفرعي (AR)", widget: string, required: false }
              - { name: body, label: "Texte (FR)", widget: text, required: false }
              - { name: body_ar, label: "النص (AR)", widget: text, required: false }
              - { name: cta, label: "Bouton (FR)", widget: string, required: false }
              - { name: cta_ar, label: "زر CTA (AR)", widget: string, required: false }

          # 6. MARQUEE GALLERY (photos + labels)
          - name: marquee
            label: "6. Bandeau defilant"
            widget: object
            collapsed: true
            required: false
            hint: "Bandeau defilant avec photos de promotions et creations d'eleves"
            fields:
              - name: top_row
                label: "Rangee du haut (promotions)"
                widget: object
                required: false
                fields:
                  - { name: label, label: "Label (FR)", widget: string, required: false }
                  - { name: label_ar, label: "التسمية (AR)", widget: string, required: false }
              - name: bottom_row
                label: "Rangee du bas (creations)"
                widget: object
                required: false
                fields:
                  - { name: label, label: "Label (FR)", widget: string, required: false }
                  - { name: label_ar, label: "التسمية (AR)", widget: string, required: false }
              - name: student_groups
                label: "Photos de promotions"
                widget: list
                required: false
                hint: "Photos de groupes d'eleves. Ajoutez, supprimez ou reordonnez les promotions"
                fields:
                  - { name: image, label: "Photo", widget: image, hint: "Photo de groupe. Format paysage, min 800x500px" }
                  - { name: label, label: "Label (FR)", widget: string, hint: "Ex: Promotion 2023-1" }
                  - { name: label_ar, label: "التسمية (AR)", widget: string, required: false, hint: "Ex: فوج 2023-1" }
              - name: student_creations
                label: "Creations d'eleves"
                widget: list
                required: false
                hint: "Photos de creations d'eleves. Ajoutez, supprimez ou reordonnez les creations"
                fields:
                  - { name: image, label: "Photo", widget: image, hint: "Photo de creation. Format paysage, min 800x500px" }
                  - { name: label, label: "Label (FR)", widget: string, hint: "Ex: Buffet Promotion 2023" }
                  - { name: label_ar, label: "التسمية (AR)", widget: string, required: false, hint: "Ex: بوفيه فوج 2023" }

          # 7. REASONS (images + text)
          - name: reasons
            label: "7. Raisons de nous choisir"
            widget: object
            collapsed: true
            required: false
            hint: "Images et texte argumentaire"
            fields:
              - name: images
                label: "Images (3)"
                widget: list
                hint: "3 images pour la section. Format paysage, min 800x600px"
                field: { name: image, label: Image, widget: image }
              - { name: label, label: "Sur-titre (FR)", widget: string, required: false }
              - { name: label_ar, label: "العنوان الفرعي (AR)", widget: string, required: false }
              - { name: headline_1, label: "Titre ligne 1 (FR)", widget: string, required: false }
              - { name: headline_1_ar, label: "العنوان سطر 1 (AR)", widget: string, required: false }
              - { name: headline_2, label: "Titre ligne 2 (FR)", widget: string, required: false }
              - { name: headline_2_ar, label: "العنوان سطر 2 (AR)", widget: string, required: false }
              - { name: body, label: "Texte (FR)", widget: text, required: false }
              - { name: body_ar, label: "النص (AR)", widget: text, required: false }
              - { name: cta, label: "Bouton (FR)", widget: string, required: false }
              - { name: cta_ar, label: "زر CTA (AR)", widget: string, required: false }
              - { name: img1_label, label: "Label image 1 (FR)", widget: string, required: false }
              - { name: img1_label_ar, label: "تسمية صورة 1 (AR)", widget: string, required: false }
              - { name: img2_label, label: "Label image 2 (FR)", widget: string, required: false }
              - { name: img2_label_ar, label: "تسمية صورة 2 (AR)", widget: string, required: false }
              - { name: img3_label, label: "Label image 3 (FR)", widget: string, required: false }
              - { name: img3_label_ar, label: "تسمية صورة 3 (AR)", widget: string, required: false }

          # 8. TESTIMONIALS (text only — images come from Settings > Images > Galerie)
          - name: testimonials
            label: "8. Temoignages"
            widget: object
            collapsed: true
            required: false
            hint: "Titres de la section temoignages. Les images viennent de Parametres > Images du site > Galerie"
            fields:
              - { name: label, label: "Sur-titre (FR)", widget: string, required: false }
              - { name: label_ar, label: "العنوان الفرعي (AR)", widget: string, required: false }
              - { name: headline, label: "Titre (FR)", widget: string, required: false }
              - { name: headline_ar, label: "العنوان (AR)", widget: string, required: false }
              - { name: sub, label: "Sous-titre ligne 1 (FR)", widget: string, required: false }
              - { name: sub_ar, label: "العنوان الفرعي سطر 1 (AR)", widget: string, required: false }
              - { name: sub2, label: "Sous-titre ligne 2 (FR)", widget: string, required: false }
              - { name: sub2_ar, label: "العنوان الفرعي سطر 2 (AR)", widget: string, required: false }

          # 9. SUCCESS MOSAIC
          - name: success
            label: "9. Histoires de reussite"
            widget: object
            collapsed: true
            required: false
            hint: "Textes de la mosaique des histoires de reussite"
            fields:
              - { name: label, label: "Sur-titre (FR)", widget: string, required: false }
              - { name: label_ar, label: "العنوان الفرعي (AR)", widget: string, required: false }
              - { name: headline, label: "Titre (FR)", widget: string, required: false }
              - { name: headline_ar, label: "العنوان (AR)", widget: string, required: false }
              - { name: sub, label: "Sous-titre (FR)", widget: text, required: false }
              - { name: sub_ar, label: "النص الفرعي (AR)", widget: text, required: false }
              - { name: s1_name, label: "Nom 1 (FR)", widget: string, required: false }
              - { name: s1_name_ar, label: "اسم 1 (AR)", widget: string, required: false }
              - { name: s1_role, label: "Role 1 (FR)", widget: string, required: false }
              - { name: s1_role_ar, label: "دور 1 (AR)", widget: string, required: false }
              - { name: s1_quote, label: "Citation 1 (FR)", widget: text, required: false }
              - { name: s1_quote_ar, label: "اقتباس 1 (AR)", widget: text, required: false }
              - { name: s2_name, label: "Nom 2 (FR)", widget: string, required: false }
              - { name: s2_name_ar, label: "اسم 2 (AR)", widget: string, required: false }
              - { name: s2_role, label: "Role 2 (FR)", widget: string, required: false }
              - { name: s2_role_ar, label: "دور 2 (AR)", widget: string, required: false }
              - { name: s2_quote, label: "Citation 2 (FR)", widget: text, required: false }
              - { name: s2_quote_ar, label: "اقتباس 2 (AR)", widget: text, required: false }
              - { name: s3_name, label: "Nom 3 (FR)", widget: string, required: false }
              - { name: s3_name_ar, label: "اسم 3 (AR)", widget: string, required: false }
              - { name: s3_role, label: "Role 3 (FR)", widget: string, required: false }
              - { name: s3_role_ar, label: "دور 3 (AR)", widget: string, required: false }
              - { name: s3_quote, label: "Citation 3 (FR)", widget: text, required: false }
              - { name: s3_quote_ar, label: "اقتباس 3 (AR)", widget: text, required: false }
              - { name: s4_name, label: "Nom 4 (FR)", widget: string, required: false }
              - { name: s4_name_ar, label: "اسم 4 (AR)", widget: string, required: false }
              - { name: s4_role, label: "Role 4 (FR)", widget: string, required: false }
              - { name: s4_role_ar, label: "دور 4 (AR)", widget: string, required: false }
              - { name: s4_quote, label: "Citation 4 (FR)", widget: text, required: false }
              - { name: s4_quote_ar, label: "اقتباس 4 (AR)", widget: text, required: false }
              - { name: s5_name, label: "Nom 5 (FR)", widget: string, required: false }
              - { name: s5_name_ar, label: "اسم 5 (AR)", widget: string, required: false }
              - { name: s5_role, label: "Role 5 (FR)", widget: string, required: false }
              - { name: s5_role_ar, label: "دور 5 (AR)", widget: string, required: false }
              - { name: s5_quote, label: "Citation 5 (FR)", widget: text, required: false }
              - { name: s5_quote_ar, label: "اقتباس 5 (AR)", widget: text, required: false }
              - { name: s6_name, label: "Nom 6 (FR)", widget: string, required: false }
              - { name: s6_name_ar, label: "اسم 6 (AR)", widget: string, required: false }
              - { name: s6_role, label: "Role 6 (FR)", widget: string, required: false }
              - { name: s6_role_ar, label: "دور 6 (AR)", widget: string, required: false }
              - { name: s6_quote, label: "Citation 6 (FR)", widget: text, required: false }
              - { name: s6_quote_ar, label: "اقتباس 6 (AR)", widget: text, required: false }

          # 9b. SUCCESS STORIES DATA (photos + videos + text)
          - name: success_stories
            label: "9b. Histoires de reussite (donnees)"
            widget: list
            collapsed: true
            required: false
            hint: "Profils et temoignages video des anciens eleves affiches dans la mosaique. Ajoutez, supprimez ou reordonnez les histoires"
            fields:
              - { name: name, label: "Nom (FR)", widget: string, hint: "Nom complet (ex: Sana B.)" }
              - { name: name_ar, label: "الاسم (AR)", widget: string, required: false }
              - { name: role, label: "Role (FR)", widget: string, hint: "Poste ou specialite (ex: Fondatrice de Sweet Sana — Promotion 2022)" }
              - { name: role_ar, label: "الدور (AR)", widget: string, required: false }
              - { name: quote, label: "Citation (FR)", widget: text, hint: "Temoignage court" }
              - { name: quote_ar, label: "الاقتباس (AR)", widget: text, required: false }
              - { name: video_url, label: "URL video", widget: string, required: false, hint: "URL YouTube embed (ex: https://www.youtube.com/embed/...)" }
              - { name: poster, label: "Photo / Poster", widget: image, required: false, hint: "Image d'apercu. Format paysage 16:9, min 600x340px" }

          # 10. FAQ SECTION
          - name: faq
            label: "10. FAQ"
            widget: object
            collapsed: true
            required: false
            hint: "Questions et reponses de la section FAQ"
            fields:
              - { name: label, label: "Sur-titre (FR)", widget: string, required: false }
              - { name: label_ar, label: "العنوان الفرعي (AR)", widget: string, required: false }
              - { name: headline, label: "Titre (FR)", widget: string, required: false }
              - { name: headline_ar, label: "العنوان (AR)", widget: string, required: false }
              - { name: q1, label: "Question 1 (FR)", widget: string, required: false }
              - { name: q1_ar, label: "سؤال 1 (AR)", widget: string, required: false }
              - { name: a1, label: "Reponse 1 (FR)", widget: text, required: false }
              - { name: a1_ar, label: "إجابة 1 (AR)", widget: text, required: false }
              - { name: q2, label: "Question 2 (FR)", widget: string, required: false }
              - { name: q2_ar, label: "سؤال 2 (AR)", widget: string, required: false }
              - { name: a2, label: "Reponse 2 (FR)", widget: text, required: false }
              - { name: a2_ar, label: "إجابة 2 (AR)", widget: text, required: false }
              - { name: q3, label: "Question 3 (FR)", widget: string, required: false }
              - { name: q3_ar, label: "سؤال 3 (AR)", widget: string, required: false }
              - { name: a3, label: "Reponse 3 (FR)", widget: text, required: false }
              - { name: a3_ar, label: "إجابة 3 (AR)", widget: text, required: false }
              - { name: q4, label: "Question 4 (FR)", widget: string, required: false }
              - { name: q4_ar, label: "سؤال 4 (AR)", widget: string, required: false }
              - { name: a4, label: "Reponse 4 (FR)", widget: text, required: false }
              - { name: a4_ar, label: "إجابة 4 (AR)", widget: text, required: false }
              - { name: q5, label: "Question 5 (FR)", widget: string, required: false }
              - { name: q5_ar, label: "سؤال 5 (AR)", widget: string, required: false }
              - { name: a5, label: "Reponse 5 (FR)", widget: text, required: false }
              - { name: a5_ar, label: "إجابة 5 (AR)", widget: text, required: false }
              - { name: q6, label: "Question 6 (FR)", widget: string, required: false }
              - { name: q6_ar, label: "سؤال 6 (AR)", widget: string, required: false }
              - { name: a6, label: "Reponse 6 (FR)", widget: text, required: false }
              - { name: a6_ar, label: "إجابة 6 (AR)", widget: text, required: false }
              - { name: q7, label: "Question 7 (FR)", widget: string, required: false }
              - { name: q7_ar, label: "سؤال 7 (AR)", widget: string, required: false }
              - { name: a7, label: "Reponse 7 (FR)", widget: text, required: false }
              - { name: a7_ar, label: "إجابة 7 (AR)", widget: text, required: false }
              - { name: q8, label: "Question 8 (FR)", widget: string, required: false }
              - { name: q8_ar, label: "سؤال 8 (AR)", widget: string, required: false }
              - { name: a8, label: "Reponse 8 (FR)", widget: text, required: false }
              - { name: a8_ar, label: "إجابة 8 (AR)", widget: text, required: false }

          # 11. SOCIAL CONNECT
          - name: social_connect
            label: "11. Reseaux sociaux"
            widget: object
            collapsed: true
            required: false
            hint: "Section reseaux sociaux et coordonnees"
            fields:
              - { name: label, label: "Sur-titre (FR)", widget: string, required: false }
              - { name: label_ar, label: "العنوان الفرعي (AR)", widget: string, required: false }
              - { name: headline, label: "Titre (FR)", widget: string, required: false }
              - { name: headline_ar, label: "العنوان (AR)", widget: string, required: false }
              - { name: sub, label: "Sous-titre (FR)", widget: text, required: false }
              - { name: sub_ar, label: "النص الفرعي (AR)", widget: text, required: false }
              - { name: instagram, label: "Instagram (FR)", widget: string, required: false }
              - { name: instagram_ar, label: "تسمية إنستغرام (AR)", widget: string, required: false }
              - { name: facebook, label: "Facebook (FR)", widget: string, required: false }
              - { name: facebook_ar, label: "تسمية فيسبوك (AR)", widget: string, required: false }
              - { name: tiktok, label: "TikTok (FR)", widget: string, required: false }
              - { name: tiktok_ar, label: "تسمية تيك توك (AR)", widget: string, required: false }
              - { name: youtube, label: "YouTube (FR)", widget: string, required: false }
              - { name: youtube_ar, label: "تسمية يوتيوب (AR)", widget: string, required: false }
              - { name: linktree, label: "Linktree (FR)", widget: string, required: false }
              - { name: linktree_ar, label: "تسمية Linktree (AR)", widget: string, required: false }
              - { name: cta, label: "Bouton (FR)", widget: string, required: false }
              - { name: cta_ar, label: "زر CTA (AR)", widget: string, required: false }
              - { name: address_label, label: "Label adresse (FR)", widget: string, required: false }
              - { name: address_label_ar, label: "تسمية العنوان (AR)", widget: string, required: false }
              - { name: email_label, label: "Label email (FR)", widget: string, required: false }
              - { name: email_label_ar, label: "تسمية البريد (AR)", widget: string, required: false }
              - { name: hours_label, label: "Label horaires (FR)", widget: string, required: false }
              - { name: hours_label_ar, label: "تسمية الأوقات (AR)", widget: string, required: false }

          # 12. NEWSLETTER (footer)
          - name: newsletter
            label: "12. Newsletter (footer)"
            widget: object
            collapsed: true
            required: false
            hint: "Formulaire d'inscription a la newsletter"
            fields:
              - { name: headline, label: "Titre (FR)", widget: string, required: false }
              - { name: headline_ar, label: "العنوان (AR)", widget: string, required: false }
              - { name: body, label: "Texte (FR)", widget: text, required: false }
              - { name: body_ar, label: "النص (AR)", widget: text, required: false }
              - { name: placeholder, label: "Placeholder (FR)", widget: string, required: false }
              - { name: placeholder_ar, label: "حقل البريد (AR)", widget: string, required: false }
              - { name: cta, label: "Bouton (FR)", widget: string, required: false }
              - { name: cta_ar, label: "زر CTA (AR)", widget: string, required: false }
              - { name: terms_prefix, label: "Prefixe conditions (FR)", widget: string, required: false }
              - { name: terms_prefix_ar, label: "بادئة الشروط (AR)", widget: string, required: false }
              - { name: terms_link, label: "Lien conditions (FR)", widget: string, required: false }
              - { name: terms_link_ar, label: "رابط الشروط (AR)", widget: string, required: false }

      # ────────────────────────────────────────────────────────────────────
      # A PROPOS
      # ────────────────────────────────────────────────────────────────────
      - name: about
        label: "A propos"
        file: src/content/pages/about.json
        fields:
          - name: about
            label: "Page a propos"
            widget: object
            collapsed: false
            required: false
            hint: "Images et textes de la page A propos"
            fields:
              - { name: about_hero, label: "Image hero", widget: image, required: false, hint: "Grande image en haut de la page. Format paysage, min 1200x600px" }
              - { name: stats_bg, label: "Fond statistiques", widget: image, required: false, hint: "Image de fond section statistiques. Format paysage large, min 1600x400px" }
              - { name: hero_headline, label: "Titre hero (FR)", widget: string, required: false }
              - { name: hero_headline_ar, label: "عنوان البطل (AR)", widget: string, required: false }
              - { name: hero_sub, label: "Sous-titre hero (FR)", widget: text, required: false }
              - { name: hero_sub_ar, label: "النص الفرعي للبطل (AR)", widget: text, required: false }
              - { name: mission_label, label: "Label mission (FR)", widget: string, required: false }
              - { name: mission_label_ar, label: "تسمية المهمة (AR)", widget: string, required: false }
              - { name: mission_headline, label: "Titre mission (FR)", widget: string, required: false }
              - { name: mission_headline_ar, label: "عنوان المهمة (AR)", widget: string, required: false }
              - { name: mission_body, label: "Texte mission (FR)", widget: text, required: false }
              - { name: mission_body_ar, label: "نص المهمة (AR)", widget: text, required: false }
              - { name: values_label, label: "Label valeurs (FR)", widget: string, required: false }
              - { name: values_label_ar, label: "تسمية القيم (AR)", widget: string, required: false }
              - { name: value1_title, label: "Valeur 1 titre (FR)", widget: string, required: false }
              - { name: value1_title_ar, label: "قيمة 1 عنوان (AR)", widget: string, required: false }
              - { name: value1_body, label: "Valeur 1 texte (FR)", widget: text, required: false }
              - { name: value1_body_ar, label: "قيمة 1 نص (AR)", widget: text, required: false }
              - { name: value2_title, label: "Valeur 2 titre (FR)", widget: string, required: false }
              - { name: value2_title_ar, label: "قيمة 2 عنوان (AR)", widget: string, required: false }
              - { name: value2_body, label: "Valeur 2 texte (FR)", widget: text, required: false }
              - { name: value2_body_ar, label: "قيمة 2 نص (AR)", widget: text, required: false }
              - { name: value3_title, label: "Valeur 3 titre (FR)", widget: string, required: false }
              - { name: value3_title_ar, label: "قيمة 3 عنوان (AR)", widget: string, required: false }
              - { name: value3_body, label: "Valeur 3 texte (FR)", widget: text, required: false }
              - { name: value3_body_ar, label: "قيمة 3 نص (AR)", widget: text, required: false }
              - { name: stats_label, label: "Label stats (FR)", widget: string, required: false }
              - { name: stats_label_ar, label: "تسمية الإحصاءات (AR)", widget: string, required: false }
              - { name: team_label, label: "Label equipe (FR)", widget: string, required: false }
              - { name: team_label_ar, label: "تسمية الفريق (AR)", widget: string, required: false }
              - { name: team_headline, label: "Titre equipe (FR)", widget: string, required: false }
              - { name: team_headline_ar, label: "عنوان الفريق (AR)", widget: string, required: false }
              - { name: badge_label, label: "Label badge (FR)", widget: string, required: false, hint: "Texte sous le chiffre du badge decoratif (ex: ans d'excellence)" }
              - { name: badge_label_ar, label: "تسمية الشارة (AR)", widget: string, required: false }

      # ────────────────────────────────────────────────────────────────────
      # FORMATIONS
      # ────────────────────────────────────────────────────────────────────
      - name: apprenticeships
        label: Formations
        file: src/content/pages/apprenticeships.json
        fields:
          - name: apprenticeships
            label: "Page formations"
            widget: object
            collapsed: false
            required: false
            hint: "Images de secours et textes de la page formations"
            fields:
              - name: apprenticeship_fallbacks
                label: "Images par defaut"
                widget: list
                hint: "Images de remplacement quand une formation n'a pas d'image. Min 2, format paysage"
                field: { name: image, label: Image, widget: image }
              - { name: hero_headline, label: "Titre hero (FR)", widget: string, required: false }
              - { name: hero_headline_ar, label: "عنوان البطل (AR)", widget: string, required: false }
              - { name: hero_sub, label: "Sous-titre hero (FR)", widget: text, required: false }
              - { name: hero_sub_ar, label: "النص الفرعي للبطل (AR)", widget: text, required: false }
              - { name: intro_body, label: "Texte d'introduction (FR)", widget: text, required: false, hint: "Paragraphe d'introduction affiche sous le hero" }
              - { name: intro_body_ar, label: "نص المقدمة (AR)", widget: text, required: false }
              - { name: section_label, label: "Label section (FR)", widget: string, required: false }
              - { name: section_label_ar, label: "تسمية القسم (AR)", widget: string, required: false }
              - { name: cta_banner_headline, label: "Titre bandeau CTA (FR)", widget: string, required: false }
              - { name: cta_banner_headline_ar, label: "عنوان بانر CTA (AR)", widget: string, required: false }
              - { name: cta_banner_body, label: "Texte bandeau CTA (FR)", widget: text, required: false }
              - { name: cta_banner_body_ar, label: "نص بانر CTA (AR)", widget: text, required: false }
              - { name: cta_banner_btn, label: "Bouton bandeau CTA (FR)", widget: string, required: false }
              - { name: cta_banner_btn_ar, label: "زر بانر CTA (AR)", widget: string, required: false }
              - { name: duration_label, label: "Label duree (FR)", widget: string, required: false }
              - { name: duration_label_ar, label: "تسمية المدة (AR)", widget: string, required: false }
              - { name: rhythm_label, label: "Label rythme (FR)", widget: string, required: false }
              - { name: rhythm_label_ar, label: "تسمية الإيقاع (AR)", widget: string, required: false }
              - { name: group_label, label: "Label groupe (FR)", widget: string, required: false }
              - { name: group_label_ar, label: "تسمية المجموعة (AR)", widget: string, required: false }
              - { name: price_label, label: "Label tarif (FR)", widget: string, required: false }
              - { name: price_label_ar, label: "تسمية السعر (AR)", widget: string, required: false }
              - { name: price_monthly, label: "Suffixe mensuel (FR)", widget: string, required: false }
              - { name: price_monthly_ar, label: "لاحقة شهرية (AR)", widget: string, required: false }
              - { name: price_total, label: "Suffixe total (FR)", widget: string, required: false }
              - { name: price_total_ar, label: "لاحقة إجمالية (AR)", widget: string, required: false }
              - { name: modules_label, label: "Label modules (FR)", widget: string, required: false }
              - { name: modules_label_ar, label: "تسمية الوحدات (AR)", widget: string, required: false }
              - { name: outcomes_label, label: "Label objectifs (FR)", widget: string, required: false }
              - { name: outcomes_label_ar, label: "تسمية الأهداف (AR)", widget: string, required: false }
              - { name: enroll_cta, label: "Bouton inscription (FR)", widget: string, required: false }
              - { name: enroll_cta_ar, label: "زر التسجيل (AR)", widget: string, required: false }

      # ────────────────────────────────────────────────────────────────────
      # CHEFS
      # ────────────────────────────────────────────────────────────────────
      - name: chefs
        label: Chefs
        file: src/content/pages/chefs.json
        fields:
          - name: chefs_page
            label: "Grille des chefs"
            widget: object
            collapsed: false
            required: false
            fields:
              - { name: headline, label: "Titre (FR)", widget: string, required: false }
              - { name: headline_ar, label: "العنوان (AR)", widget: string, required: false }
              - { name: sub, label: "Sous-titre (FR)", widget: text, required: false }
              - { name: sub_ar, label: "النص الفرعي (AR)", widget: text, required: false }
          - name: chef_detail
            label: "Detail chef"
            widget: object
            collapsed: true
            required: false
            fields:
              - { name: back, label: "Lien retour (FR)", widget: string, required: false }
              - { name: back_ar, label: "رابط العودة (AR)", widget: string, required: false }
              - { name: specialties, label: "Label specialites (FR)", widget: string, required: false }
              - { name: specialties_ar, label: "تسمية التخصّصات (AR)", widget: string, required: false }
              - { name: credentials, label: "Label diplomes (FR)", widget: string, required: false }
              - { name: credentials_ar, label: "تسمية الشهادات (AR)", widget: string, required: false }
              - { name: experience, label: "Label experience (FR)", widget: string, required: false }
              - { name: experience_ar, label: "تسمية الخبرة (AR)", widget: string, required: false }
              - { name: biography, label: "Label biographie (FR)", widget: string, required: false }
              - { name: biography_ar, label: "تسمية السيرة (AR)", widget: string, required: false }
              - { name: cta_headline, label: "CTA titre (FR)", widget: string, required: false }
              - { name: cta_headline_ar, label: "عنوان CTA (AR)", widget: string, required: false }
              - { name: cta_body, label: "CTA texte (FR)", widget: text, required: false }
              - { name: cta_body_ar, label: "نص CTA (AR)", widget: text, required: false }
              - { name: cta_btn, label: "CTA bouton (FR)", widget: string, required: false }
              - { name: cta_btn_ar, label: "زر CTA (AR)", widget: string, required: false }
              - { name: years_label, label: "Label annees (FR)", widget: string, required: false }
              - { name: years_label_ar, label: "تسمية السنوات (AR)", widget: string, required: false }

      # ────────────────────────────────────────────────────────────────────
      # INSIGHTS
      # ────────────────────────────────────────────────────────────────────
      - name: insights_page
        label: Insights
        file: src/content/pages/insights.json
        fields:
          - name: insights
            label: "Page insights"
            widget: object
            collapsed: false
            required: false
            hint: "Images de secours et textes de la page insights"
            fields:
              - name: insight_fallbacks
                label: "Images par defaut"
                widget: object
                required: false
                hint: "Une image de remplacement par categorie"
                fields:
                  - { name: technique, label: "Technique", widget: image, required: false }
                  - { name: conseils, label: "Conseils", widget: image, required: false }
                  - { name: tendances, label: "Tendances", widget: image, required: false }
                  - { name: default, label: "Par defaut", widget: image, required: false }
              - { name: hero_headline, label: "Titre hero (FR)", widget: string, required: false }
              - { name: hero_headline_ar, label: "عنوان البطل (AR)", widget: string, required: false }
              - { name: hero_sub, label: "Sous-titre hero (FR)", widget: text, required: false }
              - { name: hero_sub_ar, label: "النص الفرعي للبطل (AR)", widget: text, required: false }
              - { name: section_label, label: "Label section (FR)", widget: string, required: false }
              - { name: section_label_ar, label: "تسمية القسم (AR)", widget: string, required: false }
              - { name: read_more, label: "Lire plus (FR)", widget: string, required: false }
              - { name: read_more_ar, label: "اقرأ المزيد (AR)", widget: string, required: false }
              - { name: msg_1, label: "Message 1 (FR)", widget: string, required: false }
              - { name: msg_1_ar, label: "رسالة 1 (AR)", widget: string, required: false }
              - { name: msg_2, label: "Message 2 (FR)", widget: string, required: false }
              - { name: msg_2_ar, label: "رسالة 2 (AR)", widget: string, required: false }
              - { name: msg_3, label: "Message 3 (FR)", widget: string, required: false }
              - { name: msg_3_ar, label: "رسالة 3 (AR)", widget: string, required: false }
              - { name: category_technique, label: "Categorie technique (FR)", widget: string, required: false }
              - { name: category_technique_ar, label: "فئة تقنية (AR)", widget: string, required: false }
              - { name: category_conseils, label: "Categorie conseils (FR)", widget: string, required: false }
              - { name: category_conseils_ar, label: "فئة نصائح (AR)", widget: string, required: false }
              - { name: category_tendances, label: "Categorie tendances (FR)", widget: string, required: false }
              - { name: category_tendances_ar, label: "فئة توجّهات (AR)", widget: string, required: false }

  # ═══════════════════════════════════════════════════════════════════════════
  # PARAMETRES DU SITE
  # files collections cannot use multiple_folders i18n (Decap limitation).
  # Settings are managed as a single bilingual JSON: root fields = French,
  # nested "ar" object = Arabic overrides. Editors fill both in one form.
  # ═══════════════════════════════════════════════════════════════════════════
  - name: settings
    label: "Parametres"
    label_singular: "Parametre"
    files:
      - name: general
        label: "General"
        file: src/content/settings/general.json
        fields:

          # ── 1. Identite du site ──────────────────────────────────────
          - name: site_name
            label: "Nom du site (fr)"
            widget: string
            hint: "Nom officiel du site affiche dans l'en-tete, le footer et les meta SEO"
          - name: tagline
            label: "Accroche (fr)"
            widget: string
            required: false
            hint: "Slogan court affiche sous le logo (ex: L'art de la patisserie, appris avec passion)"

          # ── 2. Contact ───────────────────────────────────────────────
          - name: contact
            label: Contact
            widget: object
            hint: "Coordonnees affichees dans le footer et la page contact"
            fields:
              - { name: whatsapp, label: WhatsApp, widget: string, required: false, hint: "Numero WhatsApp au format international (ex: +216 XX XXX XXX)" }
              - { name: email, label: Email, widget: string, required: false, hint: "Adresse email de contact principale" }
              - { name: address, label: "Adresse (fr)", widget: string, required: false, hint: "Adresse physique de l'ecole" }

          # ── 3. Reseaux sociaux ───────────────────────────────────────
          - name: social
            label: "Reseaux sociaux"
            widget: object
            required: false
            hint: "Liens vers les profils sociaux. Affiches dans le footer et la section reseaux sociaux"
            fields:
              - { name: facebook, label: Facebook, widget: string, required: false, hint: "URL complete du profil Facebook" }
              - { name: instagram, label: Instagram, widget: string, required: false, hint: "URL complete du profil Instagram" }
              - { name: tiktok, label: TikTok, widget: string, required: false, hint: "URL complete du profil TikTok" }
              - { name: youtube, label: YouTube, widget: string, required: false, hint: "URL complete de la chaine YouTube" }
              - { name: linktree, label: Linktree, widget: string, required: false, hint: "URL Linktree regroupant tous les liens" }

          # ── 4. Horaires ──────────────────────────────────────────────
          - name: hours
            label: "Horaires (fr)"
            widget: string
            required: false
            hint: "Horaires d'ouverture affiches sur le site (ex: Lundi - Samedi : 9h00 - 18h00)"

          # ── 5. Statistiques ──────────────────────────────────────────
          - name: about
            label: "Statistiques"
            widget: object
            required: false
            hint: "Chiffres cles affiches dans la section statistiques de la page A propos"
            fields:
              - name: stats
                label: Statistiques
                widget: list
                hint: "Liste des statistiques (ex: 500+ eleves, 15 ans d'experience). Affichees sur la page A propos"
                fields:
                  - { name: number, label: Nombre, widget: number, hint: "Valeur numerique (ex: 500, 15, 98)" }
                  - { name: prefix, label: "Prefixe", widget: string, required: false, default: "", hint: "Texte avant le nombre (rarement utilise)" }
                  - { name: suffix, label: Suffixe, widget: string, required: false, default: "", hint: "Texte apres le nombre (ex: +, %, ans)" }
                  - { name: label, label: "Libelle", widget: string, hint: "Description sous le chiffre (ex: Eleves formes, Taux de satisfaction)" }

          # ── 6. Images du site ────────────────────────────────────────
          - name: images
            label: "Images du site"
            widget: object
            required: false
            collapsed: true
            hint: "Toutes les images du site : logos, galerie, photos de groupes, creations d'eleves, etc."
            fields:
              - { name: logo, label: Logo principal, widget: image, required: false, hint: "Logo principal du site" }
              - { name: logo_academy, label: Logo Academy, widget: image, required: false, hint: "Logo de l'academie partenaire" }
              - { name: hero_poster, label: "Poster hero", widget: image, required: false, hint: "Image d'apercu du hero. Format 16:9, min 1200x675px" }
              - { name: about_hero, label: "Hero A propos", widget: image, required: false, hint: "Image hero de la page A propos. Format paysage, min 1200x600px" }
              - name: gallery
                label: "Galerie patisseries"
                widget: object
                collapsed: true
                required: false
                hint: "Photos de patisseries utilisees dans la grille competences et les temoignages"
                fields:
                  - { name: macarons, label: "Macarons — image", widget: image, required: false }
                  - { name: macarons_alt, label: "Macarons — alt (FR)", widget: string, required: false }
                  - { name: macarons_alt_ar, label: "Macarons — alt (AR)", widget: string, required: false }
                  - { name: entremet, label: "Entremet — image", widget: image, required: false }
                  - { name: entremet_alt, label: "Entremet — alt (FR)", widget: string, required: false }
                  - { name: entremet_alt_ar, label: "Entremet — alt (AR)", widget: string, required: false }
                  - { name: chocolat, label: "Chocolat — image", widget: image, required: false }
                  - { name: chocolat_alt, label: "Chocolat — alt (FR)", widget: string, required: false }
                  - { name: chocolat_alt_ar, label: "Chocolat — alt (AR)", widget: string, required: false }
                  - { name: tarte_citron, label: "Tarte citron — image", widget: image, required: false }
                  - { name: tarte_citron_alt, label: "Tarte citron — alt (FR)", widget: string, required: false }
                  - { name: tarte_citron_alt_ar, label: "Tarte citron — alt (AR)", widget: string, required: false }
                  - { name: viennoiseries, label: "Viennoiseries — image", widget: image, required: false }
                  - { name: viennoiseries_alt, label: "Viennoiseries — alt (FR)", widget: string, required: false }
                  - { name: viennoiseries_alt_ar, label: "Viennoiseries — alt (AR)", widget: string, required: false }
                  - { name: millefeuille, label: "Millefeuille — image", widget: image, required: false }
                  - { name: millefeuille_alt, label: "Millefeuille — alt (FR)", widget: string, required: false }
                  - { name: millefeuille_alt_ar, label: "Millefeuille — alt (AR)", widget: string, required: false }
              - name: reasons
                label: "Images Raisons"
                widget: object
                collapsed: true
                required: false
                hint: "Photos pour la section Raisons de nous choisir"
                fields:
                  - { name: img1, label: "Image 1", widget: image, required: false }
                  - { name: img1_alt, label: "Image 1 — alt (FR)", widget: string, required: false }
                  - { name: img1_alt_ar, label: "Image 1 — alt (AR)", widget: string, required: false }
                  - { name: img2, label: "Image 2", widget: image, required: false }
                  - { name: img2_alt, label: "Image 2 — alt (FR)", widget: string, required: false }
                  - { name: img2_alt_ar, label: "Image 2 — alt (AR)", widget: string, required: false }
              - name: student_groups
                label: "Photos de groupes"
                widget: object
                collapsed: true
                required: false
                hint: "Photos de promotions pour le bandeau defilant"
                fields:
                  - { name: groupe_2023_1, label: "Groupe 2023 #1 — image", widget: image, required: false }
                  - { name: groupe_2023_1_label, label: "Groupe 2023 #1 — label (FR)", widget: string, required: false }
                  - { name: groupe_2023_1_label_ar, label: "Groupe 2023 #1 — label (AR)", widget: string, required: false }
                  - { name: groupe_2023_2, label: "Groupe 2023 #2 — image", widget: image, required: false }
                  - { name: groupe_2023_2_label, label: "Groupe 2023 #2 — label (FR)", widget: string, required: false }
                  - { name: groupe_2023_2_label_ar, label: "Groupe 2023 #2 — label (AR)", widget: string, required: false }
                  - { name: groupe_2022_1, label: "Groupe 2022 #1 — image", widget: image, required: false }
                  - { name: groupe_2022_1_label, label: "Groupe 2022 #1 — label (FR)", widget: string, required: false }
                  - { name: groupe_2022_1_label_ar, label: "Groupe 2022 #1 — label (AR)", widget: string, required: false }
                  - { name: groupe_2022_2, label: "Groupe 2022 #2 — image", widget: image, required: false }
                  - { name: groupe_2022_2_label, label: "Groupe 2022 #2 — label (FR)", widget: string, required: false }
                  - { name: groupe_2022_2_label_ar, label: "Groupe 2022 #2 — label (AR)", widget: string, required: false }
                  - { name: groupe_2021_1, label: "Groupe 2021 #1 — image", widget: image, required: false }
                  - { name: groupe_2021_1_label, label: "Groupe 2021 #1 — label (FR)", widget: string, required: false }
                  - { name: groupe_2021_1_label_ar, label: "Groupe 2021 #1 — label (AR)", widget: string, required: false }
                  - { name: groupe_2024_1, label: "Groupe 2024 #1 — image", widget: image, required: false }
                  - { name: groupe_2024_1_label, label: "Groupe 2024 #1 — label (FR)", widget: string, required: false }
                  - { name: groupe_2024_1_label_ar, label: "Groupe 2024 #1 — label (AR)", widget: string, required: false }
              - name: student_creations
                label: "Creations d'eleves"
                widget: object
                collapsed: true
                required: false
                hint: "Photos de creations d'eleves pour le bandeau defilant"
                fields:
                  - { name: buffet_promotion_2023, label: "Buffet promotion 2023 — image", widget: image, required: false }
                  - { name: buffet_promotion_2023_label, label: "Buffet promotion 2023 — label (FR)", widget: string, required: false }
                  - { name: buffet_promotion_2023_label_ar, label: "Buffet promotion 2023 — label (AR)", widget: string, required: false }
                  - { name: gateau_design_sarah, label: "Gateau design Sarah — image", widget: image, required: false }
                  - { name: gateau_design_sarah_label, label: "Gateau design Sarah — label (FR)", widget: string, required: false }
                  - { name: gateau_design_sarah_label_ar, label: "Gateau design Sarah — label (AR)", widget: string, required: false }
                  - { name: viennoiserie_mehdi, label: "Viennoiserie Mehdi — image", widget: image, required: false }
                  - { name: viennoiserie_mehdi_label, label: "Viennoiserie Mehdi — label (FR)", widget: string, required: false }
                  - { name: viennoiserie_mehdi_label_ar, label: "Viennoiserie Mehdi — label (AR)", widget: string, required: false }
                  - { name: chocolat_artisanal_ines, label: "Chocolat artisanal Ines — image", widget: image, required: false }
                  - { name: chocolat_artisanal_ines_label, label: "Chocolat artisanal Ines — label (FR)", widget: string, required: false }
                  - { name: chocolat_artisanal_ines_label_ar, label: "Chocolat artisanal Ines — label (AR)", widget: string, required: false }
                  - { name: entremet_yasmine, label: "Entremet Yasmine — image", widget: image, required: false }
                  - { name: entremet_yasmine_label, label: "Entremet Yasmine — label (FR)", widget: string, required: false }
                  - { name: entremet_yasmine_label_ar, label: "Entremet Yasmine — label (AR)", widget: string, required: false }
                  - { name: buffet_diplomes_2022, label: "Buffet diplomes 2022 — image", widget: image, required: false }
                  - { name: buffet_diplomes_2022_label, label: "Buffet diplomes 2022 — label (FR)", widget: string, required: false }
                  - { name: buffet_diplomes_2022_label_ar, label: "Buffet diplomes 2022 — label (AR)", widget: string, required: false }
              - name: defaults
                label: "Images par defaut"
                widget: object
                collapsed: true
                required: false
                hint: "Images utilisees par defaut pour le partage social et les arriere-plans"
                fields:
                  - { name: og_image, label: "Image OG", widget: image, required: false, hint: "Image partagee sur les reseaux sociaux par defaut" }
                  - { name: stats_bg, label: "Fond statistiques", widget: image, required: false, hint: "Image de fond de la section statistiques" }

          # ── 7. Liens globaux ─────────────────────────────────────────
          - name: links
            label: "Liens globaux"
            widget: object
            required: false
            hint: "Liens utilises globalement sur le site"
            fields:
              - { name: whatsapp_url, label: URL WhatsApp, widget: string, required: false, hint: "Lien WhatsApp global (format: https://wa.me/216XXXXXXXX)" }

          # ── 8. Bandeau CTA ───────────────────────────────────────────
          - name: cta_band
            label: "Bandeau CTA (fr)"
            widget: object
            required: false
            hint: "Bandeau d'appel a l'action affiche en bas de certaines pages"
            fields:
              - { name: eyebrow, label: Sur-titre, widget: string, required: false, hint: "Petit texte au-dessus du titre du bandeau" }
              - { name: headline, label: Titre, widget: string, required: false, hint: "Titre principal du bandeau CTA" }
              - { name: headline_em, label: "Titre (accentue)", widget: string, required: false, hint: "Partie du titre mise en evidence (couleur doree)" }
              - { name: body, label: Texte, widget: text, required: false, hint: "Texte descriptif du bandeau" }
              - { name: cta_secondary_label, label: Bouton secondaire, widget: string, required: false, hint: "Texte du bouton secondaire (ex: En savoir plus)" }

          # ── 9. FAQ ───────────────────────────────────────────────────
          - name: faq
            label: "FAQ (fr)"
            widget: list
            hint: "Questions/reponses affichees dans la section FAQ de la page d'accueil. L'ordre ici determine l'ordre d'affichage"
            fields:
              - { name: question, label: Question, widget: string, hint: "Texte de la question" }
              - { name: answer, label: "Reponse", widget: text, hint: "Texte de la reponse" }

          # ── 10. Histoires de reussite ────────────────────────────────
          - name: success_stories
            label: "Histoires de reussite (fr)"
            widget: list
            hint: "Profils affiches dans la mosaique de reussite sur la page d'accueil. Chaque histoire peut avoir une video"
            fields:
              - { name: name, label: Nom, widget: string, hint: "Nom complet de l'ancien eleve" }
              - { name: role, label: "Role", widget: string, hint: "Poste actuel ou specialite (ex: Chef patissiere, Fondatrice de...)" }
              - { name: quote, label: Citation, widget: text, hint: "Temoignage court de l'ancien eleve" }
              - { name: video_url, label: "URL video", widget: string, required: false, hint: "URL YouTube de la video temoignage (ex: https://youtube.com/watch?v=...)" }
              - { name: poster, label: Poster, widget: image, required: false, hint: "Image d'apercu de la video. Format paysage 16:9, min 600x340px" }

          # ── 11. SEO (hidden — managed by developers) ─────────────────
          - name: seo
            label: "SEO (systeme)"
            widget: object
            required: false
            collapsed: true
            hint: "Parametres SEO techniques. Geres par les developpeurs"
            fields:
              - { name: default_og_image, label: "Image OG par defaut", widget: image, required: false, hint: "Image partagee sur les reseaux sociaux par defaut. Geree par les developpeurs" }
              - { name: meta_title_suffix, label: "Suffixe titre SEO", widget: string, required: false, hint: "Texte ajoute a la fin de chaque titre de page. Gere par les developpeurs" }

          # ── 12. Schema.org (structured data) ──────────────────────────
          - name: schema_org
            label: "Schema.org (donnees structurees)"
            widget: object
            collapsed: true
            required: false
            hint: "Donnees utilisees pour le balisage Schema.org (Google, moteurs de recherche). Modifier avec precaution."
            fields:
              - { name: founding_year, label: "Annee de fondation", widget: string, required: false, hint: "Ex: 2016" }
              - { name: founder_name, label: "Nom du fondateur", widget: string, required: false, hint: "Ex: Chef Ahmed" }
              - { name: founder_title, label: "Titre du fondateur (FR)", widget: string, required: false, hint: "Ex: Fondateur & Chef Formateur" }
              - { name: geo_lat, label: "Latitude", widget: string, required: false, hint: "Coordonnee GPS latitude (ex: 36.7525)" }
              - { name: geo_lng, label: "Longitude", widget: string, required: false, hint: "Coordonnee GPS longitude (ex: 10.2735)" }
              - { name: rating_value, label: "Note moyenne", widget: string, required: false, hint: "Note Google (ex: 4.9)" }
              - { name: rating_count, label: "Nombre d'avis", widget: string, required: false, hint: "Nombre d'avis Google (ex: 500)" }
              - { name: employee_count, label: "Nombre d'employes", widget: number, required: false, hint: "Nombre de formateurs/employes" }

          # ── 13. Badge A propos ───────────────────────────────────────
          - name: about_badge_number
            label: "Nombre badge A propos"
            widget: number
            required: false
            hint: "Nombre affiche dans le badge decoratif de la page A propos (ex: 15 pour 15 ans)"

          # ── 13. Textes interface (fr) ────────────────────────────────
          - name: ui
            label: "Textes de l'interface (fr)"
            widget: object
            collapsed: true
            required: false
            hint: "Tous les micro-textes de l'interface: navigation, footer, labels, messages vides"
            fields:
              - name: nav
                label: "Navigation"
                widget: object
                collapsed: true
                required: false
                hint: "Libelles des liens du menu de navigation principal"
                fields:
                  - { name: home, label: "Accueil", widget: string, required: false, hint: "Texte du lien Accueil dans le menu" }
                  - { name: formations, label: "Formations", widget: string, required: false, hint: "Texte du lien Formations" }
                  - { name: chefs, label: "Nos Chefs", widget: string, required: false, hint: "Texte du lien Chefs" }
                  - { name: insights, label: "Insights", widget: string, required: false, hint: "Texte du lien Insights/Articles" }
                  - { name: about, label: "A Propos", widget: string, required: false, hint: "Texte du lien A propos" }
                  - { name: contact, label: "Contact", widget: string, required: false, hint: "Texte du lien Contact" }
                  - { name: lang_switch, label: "Libelle switch langue", widget: string, required: false, hint: "Texte affiche sur le bouton de changement de langue (ex: العربية)" }
                  - { name: lang_switch_label, label: "Aria label switch", widget: string, required: false, hint: "Label d'accessibilite pour le bouton de langue" }
              - name: meta
                label: "Titres & descriptions SEO"
                widget: object
                collapsed: true
                required: false
                hint: "Titres et descriptions SEO par page, utilises dans les balises meta"
                fields:
                  - { name: home_title, label: "Titre accueil", widget: string, required: false, hint: "Titre SEO de la page d'accueil" }
                  - { name: home_description, label: "Description accueil", widget: text, required: false, hint: "Meta description de la page d'accueil (max 160 car.)" }
                  - { name: apprenticeships_title, label: "Titre formations", widget: string, required: false, hint: "Titre SEO de la page formations" }
                  - { name: apprenticeships_description, label: "Description formations", widget: text, required: false, hint: "Meta description de la page formations" }
                  - { name: insights_title, label: "Titre insights", widget: string, required: false, hint: "Titre SEO de la page insights" }
                  - { name: insights_description, label: "Description insights", widget: text, required: false, hint: "Meta description de la page insights" }
                  - { name: about_title, label: "Titre a propos", widget: string, required: false, hint: "Titre SEO de la page A propos" }
                  - { name: about_description, label: "Description a propos", widget: text, required: false, hint: "Meta description de la page A propos" }
                  - { name: chefs_title, label: "Titre chefs", widget: string, required: false, hint: "Titre SEO de la page chefs" }
                  - { name: chefs_description, label: "Description chefs", widget: text, required: false, hint: "Meta description de la page chefs" }
              - name: academy_badge
                label: "Badge academy"
                widget: object
                collapsed: true
                required: false
                hint: "Texte du badge decoratif de l'academie"
                fields:
                  - { name: line1, label: "Ligne 1", widget: string, required: false, hint: "Texte principal du badge academy" }
              - name: footer
                label: "Pied de page"
                widget: object
                collapsed: true
                required: false
                hint: "Textes affiches dans le pied de page du site"
                fields:
                  - { name: copyright, label: "Copyright", widget: string, required: false, hint: "Texte de copyright (ex: 2024 Le Charme de la Patisserie)" }
                  - { name: nav_contact, label: "Lien contact", widget: string, required: false, hint: "Texte du lien contact dans le footer" }
                  - { name: nav_legal, label: "Lien mentions legales", widget: string, required: false, hint: "Texte du lien mentions legales" }
                  - { name: nav_privacy, label: "Lien confidentialite", widget: string, required: false, hint: "Texte du lien politique de confidentialite" }
                  - { name: tagline, label: "Accroche", widget: string, required: false, hint: "Slogan affiche dans le footer" }
              - name: sections
                label: "Labels sections"
                widget: object
                collapsed: true
                required: false
                hint: "Labels generiques utilises pour les titres de sections a travers le site"
                fields:
                  - { name: formations, label: "Formations", widget: string, required: false, hint: "Titre generique de la section formations" }
                  - { name: formations_sub, label: "Formations sous-titre", widget: string, required: false, hint: "Sous-titre generique des formations" }
                  - { name: formateurs, label: "Formateurs", widget: string, required: false, hint: "Titre generique de la section formateurs" }
                  - { name: formateurs_sub, label: "Formateurs sous-titre", widget: string, required: false, hint: "Sous-titre generique des formateurs" }
                  - { name: temoignages, label: "Temoignages", widget: string, required: false, hint: "Titre generique de la section temoignages" }
                  - { name: temoignages_sub, label: "Temoignages sous-titre", widget: string, required: false, hint: "Sous-titre generique des temoignages" }
                  - { name: contact, label: "Contact", widget: string, required: false, hint: "Titre generique de la section contact" }
              - name: empty
                label: "Messages vides"
                widget: object
                collapsed: true
                required: false
                hint: "Messages affiches quand une section n'a pas de contenu"
                fields:
                  - { name: formations, label: "Aucune formation", widget: string, required: false, hint: "Message quand il n'y a aucune formation publiee" }
                  - { name: formateurs, label: "Aucun formateur", widget: string, required: false, hint: "Message quand il n'y a aucun formateur publie" }
                  - { name: temoignages, label: "Aucun temoignage", widget: string, required: false, hint: "Message quand il n'y a aucun temoignage publie" }
              - name: labels
                label: "Labels divers"
                widget: object
                collapsed: true
                required: false
                hint: "Micro-labels reutilises a travers le site"
                fields:
                  - { name: experience, label: "Experience", widget: string, required: false, hint: "Label pour les annees d'experience" }
                  - { name: months, label: "Mois", widget: string, required: false, hint: "Traduction de l'unite Mois" }
                  - { name: weeks, label: "Semaines", widget: string, required: false, hint: "Traduction de l'unite Semaines" }
                  - { name: days, label: "Jours", widget: string, required: false, hint: "Traduction de l'unite Jours" }
                  - { name: max_students, label: "Eleves max", widget: string, required: false, hint: "Label pour la taille du groupe (ex: eleves max)" }
                  - { name: price_month, label: "Prix/mois", widget: string, required: false, hint: "Suffixe du prix mensuel (ex: DT/mois)" }
                  - { name: whatsapp, label: "WhatsApp", widget: string, required: false, hint: "Label WhatsApp dans les contacts" }
                  - { name: email, label: "Email", widget: string, required: false, hint: "Label Email dans les contacts" }
                  - { name: address, label: "Adresse", widget: string, required: false, hint: "Label Adresse dans les contacts" }
              - name: formation_detail
                label: "Detail formation"
                widget: object
                collapsed: true
                required: false
                hint: "Labels de la page detail d'une formation"
                fields:
                  - { name: back, label: "Retour", widget: string, required: false, hint: "Texte du lien retour (ex: Retour aux formations)" }
                  - { name: discover_cta, label: "CTA decouvrir", widget: string, required: false, hint: "Texte du bouton decouvrir la formation" }
                  - { name: about_label, label: "Label a propos", widget: string, required: false, hint: "Titre de la section A propos de cette formation" }
                  - { name: highlights_label, label: "Label points forts", widget: string, required: false, hint: "Titre de la section Ce que vous apprendrez" }
                  - { name: modules_label, label: "Label modules", widget: string, required: false, hint: "Titre des modules pratiques" }
                  - { name: entrepreneur_label, label: "Label entrepreneuriat", widget: string, required: false, hint: "Titre des modules entrepreneuriat" }
                  - { name: cta_headline, label: "CTA titre", widget: string, required: false, hint: "Titre du bloc CTA en bas de page" }
                  - { name: cta_body, label: "CTA texte", widget: text, required: false, hint: "Texte du bloc CTA en bas de page" }
                  - { name: cta_btn, label: "CTA bouton", widget: string, required: false, hint: "Texte du bouton CTA" }
                  - { name: outcomes_label, label: "Label competences", widget: string, required: false, hint: "Titre de la section competences acquises" }
                  - { name: rhythm_label, label: "Label rythme", widget: string, required: false, hint: "Label du rythme de formation" }

              - name: accessibility
                label: "Labels d'accessibilite"
                widget: object
                collapsed: true
                required: false
                hint: "Labels lus par les lecteurs d'ecran (aria-label). Modifier uniquement si necessaire."
                fields:
                  - { name: play_video, label: "Lire la video", widget: string, required: false, hint: "Aria-label du bouton lecture video" }
                  - { name: close, label: "Fermer", widget: string, required: false, hint: "Aria-label du bouton fermer" }
                  - { name: watch, label: "Voir (prefixe)", widget: string, required: false, hint: "Prefixe pour 'Voir [nom]'" }
                  - { name: open_menu, label: "Ouvrir le menu", widget: string, required: false, hint: "Aria-label du bouton hamburger" }
                  - { name: main_nav, label: "Navigation principale", widget: string, required: false, hint: "Aria-label de la navigation desktop" }
                  - { name: menu, label: "Menu", widget: string, required: false, hint: "Aria-label du panneau menu mobile" }
                  - { name: footer_nav, label: "Navigation footer", widget: string, required: false, hint: "Aria-label de la navigation footer" }
                  - { name: stars_suffix, label: "Etoiles suffixe", widget: string, required: false, hint: "Suffixe de notation (ex: etoiles sur 5)" }
                  - { name: page, label: "Page", widget: string, required: false, hint: "Prefixe de pagination (ex: Page 1)" }
                  - { name: in_action, label: "En action (suffixe)", widget: string, required: false, hint: "Suffixe alt photo action (ex: [nom] en action)" }
                  - { name: gallery, label: "Galerie aria-label", widget: string, required: false, hint: "Aria-label de la galerie marquee" }
                  - { name: our_formations, label: "Nos formations aria-label", widget: string, required: false, hint: "Aria-label de la section formations" }
                  - { name: start_journey, label: "Commencez votre parcours", widget: string, required: false, hint: "Aria-label du bandeau CTA" }
                  - { name: previous, label: "Precedent", widget: string, required: false, hint: "Aria-label du bouton precedent (carousel)" }
                  - { name: next, label: "Suivant", widget: string, required: false, hint: "Aria-label du bouton suivant (carousel)" }

          # ── 14. Arabic overrides ─────────────────────────────────────
          - name: ar
            label: "Traductions — Arabe (ar)"
            widget: object
            required: false
            hint: "Toutes les traductions arabes des parametres et textes d'interface"
            fields:
              - { name: site_name, label: "اسم الموقع", widget: string, required: false, hint: "ترجمة عربية لاسم الموقع" }
              - { name: tagline, label: "الشعار", widget: string, required: false, hint: "ترجمة عربية للشعار" }
              - { name: hours, label: "الأوقات", widget: string, required: false, hint: "ترجمة عربية لأوقات العمل" }
              - name: contact
                label: "معلومات الاتصال"
                widget: object
                required: false
                fields:
                  - { name: whatsapp, label: WhatsApp, widget: string, required: false }
                  - { name: email, label: "البريد الإلكتروني", widget: string, required: false }
                  - { name: address, label: "العنوان", widget: string, required: false }
              - name: about
                label: "حول (ar)"
                widget: object
                required: false
                fields:
                  - name: stats
                    label: "الإحصائيات"
                    widget: list
                    hint: "ترجمة عربية للإحصائيات"
                    fields:
                      - { name: number, label: "الرقم", widget: number }
                      - { name: prefix, label: "البادئة", widget: string, required: false, default: "" }
                      - { name: suffix, label: "اللاحقة", widget: string, required: false, default: "" }
                      - { name: label, label: "التسمية", widget: string }
              - name: cta_band
                label: "بانر CTA (ar)"
                widget: object
                required: false
                fields:
                  - { name: eyebrow, label: "العنوان الفرعي", widget: string, required: false }
                  - { name: headline, label: "العنوان", widget: string, required: false }
                  - { name: headline_em, label: "العنوان (مميّز)", widget: string, required: false }
                  - { name: body, label: "النص", widget: text, required: false }
                  - { name: cta_secondary_label, label: "الزر الثانوي", widget: string, required: false }
              - name: faq
                label: "الأسئلة الشائعة (ar)"
                widget: list
                hint: "ترجمة عربية للأسئلة الشائعة"
                fields:
                  - { name: question, label: "السؤال", widget: string }
                  - { name: answer, label: "الإجابة", widget: text }
              - name: success_stories
                label: "قصص نجاح (ar)"
                widget: list
                hint: "ترجمة عربية لقصص النجاح"
                fields:
                  - { name: name, label: "الاسم", widget: string }
                  - { name: role, label: "الدور", widget: string }
                  - { name: quote, label: "الاقتباس", widget: text }
                  - { name: video_url, label: "رابط الفيديو", widget: string, required: false }
                  - { name: poster, label: "الملصق", widget: image, required: false }
              - name: schema_org
                label: "Schema.org (ar)"
                widget: object
                collapsed: true
                required: false
                hint: "ترجمة عربية لبيانات Schema.org"
                fields:
                  - { name: founder_title, label: "لقب المؤسّس (AR)", widget: string, required: false, hint: "مثال: المؤسّس و الشيف المدرّب" }
              - name: ui
                label: "نصوص الواجهة (ar)"
                widget: object
                collapsed: true
                required: false
                fields:
                  - name: nav
                    label: "التنقّل"
                    widget: object
                    collapsed: true
                    required: false
                    fields:
                      - { name: home, label: "الرئيسية", widget: string, required: false }
                      - { name: formations, label: "التكوينات", widget: string, required: false }
                      - { name: chefs, label: "الشيفات", widget: string, required: false }
                      - { name: insights, label: "المقالات", widget: string, required: false }
                      - { name: about, label: "من نحن", widget: string, required: false }
                      - { name: contact, label: "اتصل بنا", widget: string, required: false }
                      - { name: lang_switch, label: "زر تبديل اللغة", widget: string, required: false }
                      - { name: lang_switch_label, label: "وصف زر اللغة", widget: string, required: false }
                  - name: meta
                    label: "عناوين وأوصاف SEO"
                    widget: object
                    collapsed: true
                    required: false
                    fields:
                      - { name: home_title, label: "عنوان الرئيسية", widget: string, required: false }
                      - { name: home_description, label: "وصف الرئيسية", widget: text, required: false }
                      - { name: apprenticeships_title, label: "عنوان التكوينات", widget: string, required: false }
                      - { name: apprenticeships_description, label: "وصف التكوينات", widget: text, required: false }
                      - { name: insights_title, label: "عنوان المقالات", widget: string, required: false }
                      - { name: insights_description, label: "وصف المقالات", widget: text, required: false }
                      - { name: about_title, label: "عنوان من نحن", widget: string, required: false }
                      - { name: about_description, label: "وصف من نحن", widget: text, required: false }
                      - { name: chefs_title, label: "عنوان الشيفات", widget: string, required: false }
                      - { name: chefs_description, label: "وصف الشيفات", widget: text, required: false }
                  - name: academy_badge
                    label: "شارة الأكاديمية"
                    widget: object
                    collapsed: true
                    required: false
                    fields:
                      - { name: line1, label: "السطر 1", widget: string, required: false }
                  - name: footer
                    label: "التذييل"
                    widget: object
                    collapsed: true
                    required: false
                    fields:
                      - { name: copyright, label: "حقوق النشر", widget: string, required: false }
                      - { name: nav_contact, label: "رابط الاتصال", widget: string, required: false }
                      - { name: nav_legal, label: "رابط قانوني", widget: string, required: false }
                      - { name: nav_privacy, label: "رابط الخصوصية", widget: string, required: false }
                      - { name: tagline, label: "الشعار", widget: string, required: false }
                  - name: sections
                    label: "تسميات الأقسام"
                    widget: object
                    collapsed: true
                    required: false
                    fields:
                      - { name: formations, label: "التكوينات", widget: string, required: false }
                      - { name: formations_sub, label: "التكوينات فرعي", widget: string, required: false }
                      - { name: formateurs, label: "المدرّبون", widget: string, required: false }
                      - { name: formateurs_sub, label: "المدرّبون فرعي", widget: string, required: false }
                      - { name: temoignages, label: "الشهادات", widget: string, required: false }
                      - { name: temoignages_sub, label: "الشهادات فرعي", widget: string, required: false }
                      - { name: contact, label: "اتصل بنا", widget: string, required: false }
                  - name: empty
                    label: "رسائل فارغة"
                    widget: object
                    collapsed: true
                    required: false
                    fields:
                      - { name: formations, label: "لا تكوينات", widget: string, required: false }
                      - { name: formateurs, label: "لا مدرّبون", widget: string, required: false }
                      - { name: temoignages, label: "لا شهادات", widget: string, required: false }
                  - name: labels
                    label: "تسميات متنوّعة"
                    widget: object
                    collapsed: true
                    required: false
                    fields:
                      - { name: experience, label: "الخبرة", widget: string, required: false }
                      - { name: months, label: "أشهر", widget: string, required: false }
                      - { name: weeks, label: "أسابيع", widget: string, required: false }
                      - { name: days, label: "أيام", widget: string, required: false }
                      - { name: max_students, label: "طلاب كحد أقصى", widget: string, required: false }
                      - { name: price_month, label: "سعر/شهر", widget: string, required: false }
                      - { name: whatsapp, label: "واتساب", widget: string, required: false }
                      - { name: email, label: "البريد", widget: string, required: false }
                      - { name: address, label: "العنوان", widget: string, required: false }
                  - name: formation_detail
                    label: "تفاصيل التكوين"
                    widget: object
                    collapsed: true
                    required: false
                    hint: "تسميات صفحة تفاصيل التكوين"
                    fields:
                      - { name: back, label: "رابط العودة", widget: string, required: false }
                      - { name: discover_cta, label: "زر اكتشاف", widget: string, required: false }
                      - { name: about_label, label: "تسمية حول", widget: string, required: false }
                      - { name: highlights_label, label: "تسمية النقاط", widget: string, required: false }
                      - { name: modules_label, label: "تسمية الوحدات", widget: string, required: false }
                      - { name: entrepreneur_label, label: "تسمية الريادة", widget: string, required: false }
                      - { name: cta_headline, label: "عنوان CTA", widget: string, required: false }
                      - { name: cta_body, label: "نص CTA", widget: text, required: false }
                      - { name: cta_btn, label: "زر CTA", widget: string, required: false }
                      - { name: outcomes_label, label: "تسمية المهارات", widget: string, required: false }
                      - { name: rhythm_label, label: "تسمية الإيقاع", widget: string, required: false }
                  - name: accessibility
                    label: "تسميات إمكانية الوصول"
                    widget: object
                    collapsed: true
                    required: false
                    hint: "تسميات يقرأها قارئ الشاشة (aria-label). عدّل فقط عند الحاجة."
                    fields:
                      - { name: play_video, label: "تشغيل الفيديو", widget: string, required: false }
                      - { name: close, label: "إغلاق", widget: string, required: false }
                      - { name: watch, label: "شاهد (بادئة)", widget: string, required: false }
                      - { name: open_menu, label: "فتح القائمة", widget: string, required: false }
                      - { name: main_nav, label: "التنقل الرئيسي", widget: string, required: false }
                      - { name: menu, label: "القائمة", widget: string, required: false }
                      - { name: footer_nav, label: "تنقل التذييل", widget: string, required: false }
                      - { name: stars_suffix, label: "لاحقة النجوم", widget: string, required: false }
                      - { name: page, label: "صفحة", widget: string, required: false }
                      - { name: in_action, label: "أثناء العمل (لاحقة)", widget: string, required: false }
                      - { name: gallery, label: "تسمية المعرض", widget: string, required: false }
                      - { name: our_formations, label: "تسمية التكوينات", widget: string, required: false }
                      - { name: start_journey, label: "ابدأ مسيرتك", widget: string, required: false }
                      - { name: previous, label: "السابق", widget: string, required: false }
                      - { name: next, label: "التالي", widget: string, required: false }
