/* Weekend mosaic repaired (unified) — 2025-10-04 13:14 */
/* ============================================================================
   index.css — version entièrement commentée
   Généré le : 2025-10-04 12:38
   Règles : chaque bloc est annoté avec la page/section/effet (heuristique).
   Astuce : cherche "PAGE :" ou "SECTION :" pour naviguer.
   ============================================================================ */

        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : global
           SECTION : Composant / utilitaire
           EFFET : règles ciblées par classe
           SELECTEUR(S) : /* Consolidated to two media blocks on 2025-10-04 12:24 */
/* =============================================================================
   index.css — pruned safe2 (global untouched, media rules pruned cautiously)
   Generated: 2025-10-04 10:21
   ========================================================================== */
/* =============================================================================
   index.css — cleaned v2 (duplicate 

/*# sourceMappingURL=index.css.map */




.loginbox,
.mdpbox
           ========================================================== */
/* Cacher par défaut les popups d'authentification */
.loginbox,
.mdpbox {
  display: none !important;
  position: fixed;
  z-index: 1000; /* au-dessus du contenu */
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : global
           SECTION : Éléments HTML
           EFFET : règles sur éléments (typographie, espacements)
           SELECTEUR(S) : /* Quand on veut les afficher, on ajoute .open en JS */
.loginbox.open,
.mdpbox.open
           ========================================================== */
/* Quand on veut les afficher, on ajoute .open en JS */
.loginbox.open,
.mdpbox.open {
  display: block !important;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : /* =========================
   FIX Login / MDP (prioritaire)
   ========================= */

/* Toujours au-dessus du contenu + masqué par défaut (confirmé) */
.loginbox,
.mdpbox
           ========================================================== */
/* =========================
   FIX Login / MDP (prioritaire)
   ========================= */

/* Toujours au-dessus du contenu + masqué par défaut (confirmé) */
.loginbox,
.mdpbox {
  display: none !important;
  position: fixed;
  z-index: 1000;
  right: 0;
  width: 220px;          /* un poil plus large pour l’ergonomie */
  background: rgb(4, 0, 43);
  color: rgb(224, 224, 224);
  padding: 10px 10px 14px 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : .loginbox.open,
.mdpbox.open
           ========================================================== */
.loginbox.open,
.mdpbox.open { display: block !important; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : /* Mise en colonne propre à l’intérieur des popups */
.loginbox .box,
.mdpbox .box
           ========================================================== */
/* Mise en colonne propre à l’intérieur des popups */
.loginbox .box,
.mdpbox .box {
  display: flex;
  flex-direction: column;
  gap: 6px;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : /* Neutralise les styles globaux de style.css pour ces inputs */
.loginbox .box-input,
.mdpbox .box-input
           ========================================================== */
/* Neutralise les styles globaux de style.css pour ces inputs */
.loginbox .box-input,
.mdpbox .box-input {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.15);
  color: #fff;
  font-size: 13px;
  outline: none;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : /* Placeholders lisibles sur fond sombre */
.loginbox .box-input::placeholder,
.mdpbox .box-input::placeholder
           ========================================================== */
/* Placeholders lisibles sur fond sombre */
.loginbox .box-input::placeholder,
.mdpbox .box-input::placeholder { color: rgba(255,255,255,0.7); }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : /* Bouton d’inscription visible et compact */
.loginbox .box-button,
.mdpbox .box-button
           ========================================================== */
/* Bouton d’inscription visible et compact */
.loginbox .box-button,
.mdpbox .box-button {
  display: block;
  width: 100%;
  height: auto;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 6px;
  background: #0096c7;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : .loginbox .box-button:hover,
.mdpbox .box-button:hover
           ========================================================== */
.loginbox .box-button:hover,
.mdpbox .box-button:hover { filter: brightness(1.08); }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : /* Titre/texte dans la box */
.loginbox p,
.mdpbox p
           ========================================================== */
/* Titre/texte dans la box */
.loginbox p,
.mdpbox p { margin: 4px 0 6px 0; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : /* Croix de fermeture */
.loginbox .closebox,
.mdpbox .closebox
           ========================================================== */
/* Croix de fermeture */
.loginbox .closebox,
.mdpbox .closebox {
  position: absolute;
  top: 2px;
  right: 8px;
  font-size: 18px;
  cursor: pointer;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : /* =========================
   FIX Login / MDP (prioritaire)
   ========================= */
.loginbox,
.mdpbox
           ========================================================== */
/* =========================
   FIX Login / MDP (prioritaire)
   ========================= */
.loginbox,
.mdpbox {
  display: none !important;
  position: fixed;
  z-index: 1000;
  right: 0;
  width: 220px;
  background: rgb(4, 0, 43);
  color: rgb(224, 224, 224);
  padding: 10px 10px 14px 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : .loginbox.open,
.mdpbox.open
           ========================================================== */
.loginbox.open,
.mdpbox.open { display: block !important; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : .loginbox .box,
.mdpbox .box
           ========================================================== */
.loginbox .box,
.mdpbox .box { display: flex; flex-direction: column; gap: 6px; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : .loginbox .box-input,
.mdpbox .box-input
           ========================================================== */
.loginbox .box-input,
.mdpbox .box-input {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.15);
  color: #fff;
  font-size: 13px;
  outline: none;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : .loginbox .box-input::placeholder,
.mdpbox .box-input::placeholder
           ========================================================== */
.loginbox .box-input::placeholder,
.mdpbox .box-input::placeholder { color: rgba(255,255,255,0.7); }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : .loginbox .box-button,
.mdpbox .box-button
           ========================================================== */
.loginbox .box-button,
.mdpbox .box-button {
  display: block;
  width: 100%;
  height: auto;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 6px;
  background: #0096c7;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : .loginbox .box-button:hover,
.mdpbox .box-button:hover
           ========================================================== */
.loginbox .box-button:hover,
.mdpbox .box-button:hover { filter: brightness(1.08); }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : .loginbox p,
.mdpbox p
           ========================================================== */
.loginbox p,
.mdpbox p { margin: 4px 0 6px 0; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : .loginbox .closebox,
.mdpbox .closebox
           ========================================================== */
.loginbox .closebox,
.mdpbox .closebox {
  position: absolute;
  top: 2px;
  right: 8px;
  font-size: 18px;
  cursor: pointer;
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : includes/loginbar.php
   SECTION : Barre d’authentification
   EFFET : affichage connexion / mdp oublié
   SELECTEUR(S) : .loginbar
   ========================================================== */
.loginbar { width:100%; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : includes/loginbar.php
           SECTION : Barre d’authentification
           EFFET : affichage connexion / mdp oublié
           SELECTEUR(S) : /* pleine largeur de la barre */
.loginbox .box-button
           ========================================================== */
/* pleine largeur de la barre */
.loginbox .box-button { display:block; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : global
           SECTION : Composant / utilitaire
           EFFET : règles ciblées par classe
           SELECTEUR(S) : /* s'assure que le bouton est visible */

        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : inscription.php
           SECTION : Page d'inscription
           EFFET : fond, formulaire, boutons d'inscription
           SELECTEUR(S) : /* style bouton d'inscription*/
a.btn, a.btn:link, a.btn:visited
           ========================================================== */
/* style bouton d'inscription*/
a.btn, a.btn:link, a.btn:visited, button.btn {
  display:inline-flex; 
  align-items:center;
  justify-content:center;
        padding:8px 14px;
		border-radius:10px;
		border:1px solid #b7d9ea!important;
        background:#e6f3ff!important;
		color:#064a7a!important;
		font-weight:700!important;
		font-size:.95rem!important;
		line-height:1;
        white-space:nowrap;
		cursor:pointer;
		box-shadow:0 1px 2px rgba(0,0,0,.06);
		text-shadow: none !important;
		text-decoration: none;
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Boutons
   EFFET : style des boutons et interactions
   SELECTEUR(S) : a.btn:hover
   ========================================================== */
a.btn:hover {
  color: #064a7a !important;
  text-shadow: none !important;
  text-decoration: none;
  filter: brightness(1.03);
}  

 /* ==========================================================
     SCOPE : GLOBAL
     PAGE  : global
     SECTION : Composant / utilitaire
     EFFET : règles ciblées par classe
     SELECTEUR(S) : /* Pour un rendu propre des paragraphes issus du HTML nettoyé */
.richtext p
     ========================================================== */
/* Pour un rendu propre des paragraphes issus du HTML nettoyé */
      .richtext p { margin: .5rem 0; }      /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : competences.php
           SECTION : Tableau de compétences
           EFFET : table responsive / en-têtes / cellules
           SELECTEUR(S) : /* Tableau admin participants dans les weekend (look sombre + pills + boutons) */
.admin-participants-table
           ========================================================== */
/* Tableau admin participants dans les weekend (look sombre + pills + boutons) */
.admin-participants-table {
  width:100%; border-collapse:separate; border-spacing:0; color:#e9eef8;
  background:#0f1230; border:1px solid rgba(255,255,255,.06); border-radius:12px; overflow:hidden;
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .admin-participants-table th
   ========================================================== */
.admin-participants-table th {
  background:#161a3a; color:#cfe8ff; text-align:left; font-weight:700;
  padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.08); white-space:nowrap;
  writing-mode: horizontal-tb;   /* force horizontal */
  transform: none;               /* annule tout rotate hérité */
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .admin-participants-table td
   ========================================================== */
.admin-participants-table td {
  padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.05); vertical-align:middle;
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .admin-participants-table tr:hover td
   ========================================================== */
.admin-participants-table tr:hover td { background:rgba(255,255,255,.03); }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .pill
   ========================================================== */
.pill { display:inline-flex; align-items:center; gap:.35rem; padding:.18rem .55rem; border-radius:3px; font-size:.85rem; font-weight:600; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .pill.confirme
   ========================================================== */
.pill.ouvert { color:#1c3f2a; background:#98f5c0; border:1px solid #265b3b; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .pill.attente
   ========================================================== */
.pill.preinscription {  color:#322c12; background:#ffe28a; border:1px solid #4e4313; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .pill.annule
   ========================================================== */
.pill.attente {   color:#333333; background:#e0e0e0; border:1px solid #5c2830; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Boutons
   EFFET : style des boutons et interactions
   SELECTEUR(S) : .btn-ghost
   ========================================================== */
   .pill.complet {   color:#3b1e22; background:#ffb3c0; border:1px solid #5c2830; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Boutons
   EFFET : style des boutons et interactions
   SELECTEUR(S) : .btn-ghost
   ========================================================== */
   
.btn-ghost {
  display:inline-flex; align-items:center; gap:.35rem; padding:6px 10px; border-radius:10px;
  border:1px solid rgba(183,217,234,.5); background:rgba(230,243,255,.08); color:#bfe3ff;
  font-weight:700; font-size:.9rem; line-height:1; text-decoration:none; cursor:pointer;
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Boutons
   EFFET : style des boutons et interactions
   SELECTEUR(S) : .btn-ghost:hover
   ========================================================== */
.btn-ghost:hover { background:rgba(230,243,255,.16); }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .actions-row
   ========================================================== */
.actions-row { display:flex; flex-wrap:wrap; gap:.35rem; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .nowrap
   ========================================================== */
.nowrap { white-space:nowrap; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .caci-expired
   ========================================================== */
.caci-expired { color:#d7263d; font-weight:700; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : global
           SECTION : Composant / utilitaire
           EFFET : règles ciblées par classe
           SELECTEUR(S) : /* ============================================================================
   MERGE NOTE — 2025-10-03 22:37
   Source appended: assets/css/site.responsive.css
   Reason: consolidation — single stylesheet policy
   ---------------------------------------------------------------------------
   IMPORTANT:
   - Keep this block at the END of index.css to preserve specificity & cascade.
   - After deployment, remove all <link> to site.responsive.css in PHP pages:
     * administration.php
     * acces_membre.php
     * cgu_rgpd.php
     * motdepasse_oublie.php
     * reinit_motdepasse.php
   ============================================================================ */

/* =========================================================================
   site.responsive.css — Feuille globale responsive (fusionnée, V4 rollback)
   -------------------------------------------------------------------------
   - Base responsive générique (images, grilles, formulaires, tableaux, nav).
   - Correctifs ADMIN confinés au mobile (≤ 820px) pour ne pas impacter desktop.
   - Aucune règle de masquage du bandeau interne (on revient en arrière).
   ========================================================================= */


/* ========== 1) BASE & ERGONOMIE GÉNÉRIQUES (site-wide) ==================== */

html { box-sizing: border-box; -webkit-text-size-adjust: 100%; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : *, *::before, *::after
   ========================================================== */
*, *::before, *::after { box-sizing: inherit; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : html
   ========================================================== */
html { font-size: 16px; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : body
   ========================================================== */
body { margin: 0; line-height: 1.5; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : img, video, canvas, svg
   ========================================================== */
img, video, canvas, svg { max-width: 100%; height: auto; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : iframe
   ========================================================== */
iframe { max-width: 100%; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : a
   ========================================================== */
a { text-decoration: none; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : table
   ========================================================== */
table { width: 100%; border-collapse: collapse; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : global
           SECTION : Composant / utilitaire
           EFFET : règles ciblées par classe
           SELECTEUR(S) : /* ========== 2) CONTENEURS ==================== */
.container
           ========================================================== */
/* ========== 2) CONTENEURS ==================== */
.container { width: min(100% - 24px, 1200px); margin-inline: auto; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .container-narrow
   ========================================================== */
.container-narrow { width: min(100% - 24px, 900px); margin-inline: auto; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : global
           SECTION : Composant / utilitaire
           EFFET : règles ciblées par classe
           SELECTEUR(S) : /* ========== 3) GRILLE UTILITAIRE (CSS Grid) ==================== */
.row
           ========================================================== */
/* ========== 3) GRILLE UTILITAIRE (CSS Grid) ==================== */
.row { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .col-12
   ========================================================== */
.col-12 { grid-column: span 12; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .col-6
   ========================================================== */
.col-6 { grid-column: span 6;  }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .col-4
   ========================================================== */
.col-4 { grid-column: span 4;  }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .col-3
   ========================================================== */
.col-3 { grid-column: span 3;  }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : layout/header.php
           SECTION : Navigation principale
           EFFET : structure et style du menu principal
           SELECTEUR(S) : /* ========== 4) NAVIGATION (facultatif) ==================== */
.site-header
           ========================================================== */
/* ========== 4) NAVIGATION (facultatif) ==================== */
.site-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 16px; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .site-nav
   ========================================================== */
.site-nav { display:flex; align-items:center; gap:12px; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Bloc spécifique (ID)
   EFFET : règles ciblées par id
   SELECTEUR(S) : #navToggle
   ========================================================== */
#navToggle { display:none; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : competences.php
           SECTION : Tableau de compétences
           EFFET : table responsive / en-têtes / cellules
           SELECTEUR(S) : /* ========== 5) TABLES RESPONSIVES (OPT-IN via .r-table) ==================== */
.r-table-wrap
           ========================================================== */
/* ========== 5) TABLES RESPONSIVES (OPT-IN via .r-table) ==================== */
.r-table-wrap { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .r-table
   ========================================================== */
.r-table { width:100%; border-collapse: collapse; min-width:720px; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .r-table th, .r-table td
   ========================================================== */
.r-table th, .r-table td { text-align:left; padding:10px 12px; border-bottom:1px solid #e7e7e7; vertical-align:top; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .r-table th
   ========================================================== */
.r-table th { background:#fafafa; position:sticky; top:0; z-index:1; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : global
           SECTION : Formulaires
           EFFET : styles génériques des champs et labels
           SELECTEUR(S) : /* ========== 6) FORMULAIRES GÉNÉRIQUES ==================== */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="time"],
select,
textarea
           ========================================================== */
/* ========== 6) FORMULAIRES GÉNÉRIQUES ==================== */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="time"],
select,
textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #e1e1e1;
  border-radius: 10px;
  background: #fff;
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Boutons
   EFFET : style des boutons et interactions
   SELECTEUR(S) : button, .btn
   ========================================================== */
       
	   
	   
.btn-primary
           ========================================================== */
/* Variantes */
.btn-primary { background:#0f62fe; border-color:#0f62fe; color:#fff; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Boutons
   EFFET : style des boutons et interactions
   SELECTEUR(S) : .btn-secondary
   ========================================================== */
.btn-secondary { background:#333; border-color:#333; color:#fff; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Boutons
   EFFET : style des boutons et interactions
   SELECTEUR(S) : .btn-outline
   ========================================================== */
.btn-outline { background:transparent; border-color:#0f62fe; color:#0f62fe; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Boutons
   EFFET : style des boutons et interactions
   SELECTEUR(S) : .btn-outline:hover
   ========================================================== */
.btn-outline:hover { background:rgba(15,98,254,.08); }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : global
           SECTION : Boutons
           EFFET : style des boutons et interactions
           SELECTEUR(S) : /* Focus visible */
.btn:focus
           ========================================================== */
/* Focus visible */
.btn:focus { outline:2px solid rgba(15,98,254,.45); outline-offset:2px; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : global
           SECTION : Composant / utilitaire
           EFFET : règles ciblées par classe
           SELECTEUR(S) : /* Pleine largeur en mobile (hérite du existant) */







/* ========== 7) UTILITAIRES ==================== */
.hide-lg
           ========================================================== */
/* Pleine largeur en mobile (hérite du existant) */







/* ========== 7) UTILITAIRES ==================== */
.hide-lg { display:none !important; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .hide-md
   ========================================================== */
.hide-md { display:none !important; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .hide-sm
   ========================================================== */
.hide-sm { display:initial !important; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .stack
   ========================================================== */
.stack { display:flex; flex-direction:column; gap:10px; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .muted
   ========================================================== */
.muted { color:#666; }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .shadow
   ========================================================== */
.shadow { box-shadow:0 2px 10px rgba(0,0,0,.06); }/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .rounded
   ========================================================== */
.rounded { border-radius:12px; }        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : administration.php
           SECTION : Interface admin
           EFFET : panneaux, tableaux et boutons d'action
           SELECTEUR(S) : /* ========================================================================== */
/* 8) ADMIN — Correctifs **mobile uniquement** (≤ 820px)
   - Neutraliser display:flex inline de .main_block
   - Rendre l'<aside> fluide
   - NE RIEN CHANGER sur desktop
   ------------------------------------------------------------------ */





/* ======= ADMIN layout (desktop + mobile) ======= */
/* Desktop par défaut : deux colonnes souples */
.admin-layout
           ========================================================== */
/* ========================================================================== */
/* 8) ADMIN — Correctifs **mobile uniquement** (≤ 820px)
   - Neutraliser display:flex inline de .main_block
   - Rendre l'<aside> fluide
   - NE RIEN CHANGER sur desktop
   ------------------------------------------------------------------ */





/* ======= ADMIN layout (desktop + mobile) ======= */
/* Desktop par défaut : deux colonnes souples */
.admin-layout {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : administration.php
           SECTION : Interface admin
           EFFET : panneaux, tableaux et boutons d'action
           SELECTEUR(S) : /* Sidebar largeur raisonnable sur desktop */
.admin-layout > aside
           ========================================================== */
/* Sidebar largeur raisonnable sur desktop */
.admin-layout > aside {
  min-width: 260px;
  max-width: 300px;
  flex: 0 0 260px;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : administration.php
           SECTION : Interface admin
           EFFET : panneaux, tableaux et boutons d'action
           SELECTEUR(S) : /* Contenu fluide */
.admin-layout > section
           ========================================================== */
/* Contenu fluide */
.admin-layout > section {
  flex: 1 1 auto;
  min-width: 0;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : global
           SECTION : Éléments HTML
           EFFET : règles sur éléments (typographie, espacements)
           SELECTEUR(S) : /* Mobile (≤ 820px) : pile en colonne, sidebar fluide */


/* Formulaire d'ajout du week-end : enlever l'encastrement/liseré */
#add_we
           ========================================================== */
/* Mobile (≤ 820px) : pile en colonne, sidebar fluide */


/* Formulaire d'ajout du week-end : enlever l'encastrement/liseré */
#add_we {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : global
           SECTION : Éléments HTML
           EFFET : règles sur éléments (typographie, espacements)
           SELECTEUR(S) : /* Image d’entête des cartes : déjà responsive, mais on s’assure du rendu mobile agréable */


/* ===== ADMIN — fix responsive mobile & anti font-boost ===== */

/* ===== ADMIN — cartes week-ends : fix mobile ===== */



/* ============================================================================
   MERGE NOTE — 2025-10-03 23:15
   Source appended: style.css (scoped to .page-inscription)
   Reason: consolidation — prevent global overrides, restrict to inscription page only
   ============================================================================ */



.page-inscription /* ======= BODY ======= */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background: url('asset/picture/lamermediterranee.jpg') no-repeat center center fixed;
    background-size: cover;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : inscription.php
           SECTION : Page d'inscription
           EFFET : fond, formulaire, boutons d'inscription
           SELECTEUR(S) : .page-inscription /* ======= CONTAINER ======= */
.form-container
           ========================================================== */
.page-inscription /* ======= CONTAINER ======= */
.form-container {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(12px);
    padding: 30px 40px;
    border-radius: 20px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
    width: 100%;
    max-width: 600px;
    color: white;
    animation: fadeIn 1s ease-in-out;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : inscription.php
           SECTION : Page d'inscription
           EFFET : fond, formulaire, boutons d'inscription
           SELECTEUR(S) : .page-inscription /* ======= TITRES ======= */
.form-container h1
           ========================================================== */
.page-inscription /* ======= TITRES ======= */
.form-container h1 {
    text-align: center;
    font-size: 26px;
    margin-bottom: 10px;
    color: #fff;
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : inscription.php
   SECTION : Page d'inscription
   EFFET : fond, formulaire, boutons d'inscription
   SELECTEUR(S) : .page-inscription .form-container p
   ========================================================== */
.page-inscription .form-container p {
    text-align: left;
    font-size: 16px;
    color: #dff3ff;
    margin-bottom: 20px;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : inscription.php
           SECTION : Page d'inscription
           EFFET : fond, formulaire, boutons d'inscription
           SELECTEUR(S) : .page-inscription /* ======= LABELS ======= */
label
           ========================================================== */
.page-inscription /* ======= LABELS ======= */
label {
    display: block;
    margin-top: 15px;
    font-weight: bold;
    color: #f5f9ff;
    font-size: 14px;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : inscription.php
           SECTION : Page d'inscription
           EFFET : fond, formulaire, boutons d'inscription
           SELECTEUR(S) : .page-inscription /* ======= INPUTS / SELECT / TEXTAREA ======= */
input, .page-inscription select, .page-inscription textarea
           ========================================================== */
.page-inscription /* ======= INPUTS / SELECT / TEXTAREA ======= */
input, .page-inscription select, .page-inscription textarea {
    width: 100%;
    padding: 12px;
    margin-top: 5px;
    border: none;
    border-radius: 10px;
    font-size: 14px;
    outline: none;
    background: rgba(255, 255, 255, 0.8);
    transition: all 0.3s ease;
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : inscription.php
   SECTION : Page d'inscription
   EFFET : fond, formulaire, boutons d'inscription
   SELECTEUR(S) : .page-inscription input:focus, .page-inscription select:focus, .page-inscription textarea:focus
   ========================================================== */
.page-inscription input:focus, .page-inscription select:focus, .page-inscription textarea:focus {
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 0 10px #00c3ff;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : inscription.php
           SECTION : Page d'inscription
           EFFET : fond, formulaire, boutons d'inscription
           SELECTEUR(S) : .page-inscription /* ======= RADIO / CHECKBOX GROUP ======= */
.radio-group
           ========================================================== */
.page-inscription /* ======= RADIO / CHECKBOX GROUP ======= */
.radio-group {
    display: flex;
    flex-direction: line;
    gap: 6px;
    margin-top: 5px;
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : inscription.php
   SECTION : Page d'inscription
   EFFET : fond, formulaire, boutons d'inscription
   SELECTEUR(S) : .page-inscription .radio-group label
   ========================================================== */
.page-inscription .radio-group label {
    font-weight: normal;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : inscription.php
           SECTION : Page d'inscription
           EFFET : fond, formulaire, boutons d'inscription
           SELECTEUR(S) : .page-inscription /* ======= BOUTON ======= */
button
           ========================================================== */
.page-inscription /* ======= BOUTON ======= */
button {
    width: 100%;
    padding: 14px;
    margin-top: 25px;
    background: linear-gradient(135deg, #00c3ff, #0066ff);
    border: none;
    border-radius: 12px;
    color: white;
    font-size: 18px;
    cursor: pointer;
    font-weight: bold;
    transition: all 0.3s ease;
    box-shadow: 0 6px 15px rgba(0, 195, 255, 0.4);
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : inscription.php
   SECTION : Page d'inscription
   EFFET : fond, formulaire, boutons d'inscription
   SELECTEUR(S) : .page-inscription button:hover
   ========================================================== */
.page-inscription button:hover {
    background: linear-gradient(135deg, #0066ff, #00c3ff);
    transform: scale(1.03);
    box-shadow: 0 8px 20px rgba(0, 195, 255, 0.6);
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : inscription.php
           SECTION : Page d'inscription
           EFFET : fond, formulaire, boutons d'inscription
           SELECTEUR(S) : .page-inscription /* ======= HEADINGS SECTIONS ======= */
h2
           ========================================================== */
.page-inscription /* ======= HEADINGS SECTIONS ======= */
h2 {
    margin-top: 25px;
    font-size: 18px;
    color: #fff;
    text-decoration: underline;
}        /* ==========================================================
           SCOPE : GLOBAL
           PAGE  : inscription.php
           SECTION : Page d'inscription
           EFFET : fond, formulaire, boutons d'inscription
           SELECTEUR(S) : .page-inscription /* ======= RESPONSIVE ======= */


.page-inscription /* ======= ANIMATIONS ======= */
@keyframes fadeIn
           ========================================================== */
.page-inscription /* ======= RESPONSIVE ======= */


.page-inscription /* ======= ANIMATIONS ======= */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}/* ==========================================================
   SCOPE : GLOBAL
   PAGE  : inscription.php
   SECTION : Page d'inscription
   EFFET : fond, formulaire, boutons d'inscription
   SELECTEUR(S) : .page-inscription a
   ========================================================== */
.page-inscription a {
       margin-top: 25px;
    font-size: 18px;
    color: #fff;
    text-decoration: underline; 
}
/* ===================== MOBILE ===================== */

/* ===================== MEDIA : screen and (max-width: 800px) ===================== */

@media screen and (max-width: 800px) {
        /* ==========================================================
           SCOPE : @media screen and (max-width: 800px)
           PAGE  : monprofil.php
           SECTION : Formulaire profil
           EFFET : grille et champs du profil utilisateur
           SELECTEUR(S) : /* === from: @media screen and (min-width: 800px) and (max-width: 700px) === */
.profile-container .form-grid
           ========================================================== */
/* === from: @media screen and (min-width: 800px) and (max-width: 700px) === */
.profile-container .form-grid {
    grid-template-columns: 1fr;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .full-width
   ========================================================== */
.profile-container .full-width {
    grid-column: span 1;
  }        /* ==========================================================
           SCOPE : @media screen and (max-width: 800px)
           PAGE  : global
           SECTION : Formulaires
           EFFET : styles génériques des champs et labels
           SELECTEUR(S) : /* === from: @media screen and (min-width: 800px) and (max-width: 768px) === */
form.form_weekend
           ========================================================== */
/* === from: @media screen and (min-width: 800px) and (max-width: 768px) === */
form.form_weekend {
    grid-template-columns: 1fr;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content
   ========================================================== */
.fiche-weekend .fiche-content {
    grid-template-columns: 1fr;
  }        /* ==========================================================
           SCOPE : @media screen and (max-width: 800px)
           PAGE  : global
           SECTION : Éléments HTML
           EFFET : règles sur éléments (typographie, espacements)
           SELECTEUR(S) : /* === from: @media screen and (max-width: 800px) === */
*
           ========================================================== */
/* === from: @media screen and (max-width: 800px) === */
* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : a
   ========================================================== */
a {
    text-decoration: none;
    color: rgb(11, 163, 223);
    text-shadow: 1px 1px 1px rgb(4, 0, 43);
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : h1
   ========================================================== */
h1 {
    text-align: center;
    color: rgb(224, 224, 224);
    font-size: 2em;
    margin: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : h2
   ========================================================== */
h2 {
    text-align: center;
    color: rgb(11, 163, 223);
    font-size: 1em;
    margin: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : h3
   ========================================================== */
h3 {
    text-align: center;
    color: rgb(224, 224, 224);
    font-size: 1.2em;
    margin-top: 15px;
    margin-bottom: 5px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : h4
   ========================================================== */
h4 {
    color: yellow;
    font-size: 1em;
    margin-top: 15px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : h5
   ========================================================== */
h5 {
    color: rgb(224, 224, 224);
    text-decoration: underline;
    font-size: 1em;
    margin-top: 5px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : body
   ========================================================== */
body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-family: sans-serif;
    
    width: 100vw;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : includes/loginbar.php
   SECTION : Barre d’authentification
   EFFET : affichage connexion / mdp oublié
   SELECTEUR(S) : .loginbar form .box-button
   ========================================================== */
.loginbar form .box-button {
    width: 70px;
    border-radius: 5px;
    height: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : includes/loginbar.php
   SECTION : Barre d’authentification
   EFFET : affichage connexion / mdp oublié
   SELECTEUR(S) : .loginbar .box-register
   ========================================================== */
.loginbar .box-register {
    font-weight: bold;
    cursor: -webkit-grab;
    cursor: grab;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fixedmessagebox .box
   ========================================================== */
.fixedmessagebox .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/header.php
   SECTION : Sous-navigation
   EFFET : liens secondaires / breadcrumb / sous-menu
   SELECTEUR(S) : .second_nav
   ========================================================== */
.second_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: rgb(224, 224, 224);
    color: rgb(4, 0, 43);
    height: 30px;
    width: 90%;
    -webkit-box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
            box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
    border-radius: 5px;
    margin-bottom: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/header.php
   SECTION : Sous-navigation
   EFFET : liens secondaires / breadcrumb / sous-menu
   SELECTEUR(S) : .second_nav ul
   ========================================================== */
.second_nav ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/header.php
   SECTION : Sous-navigation
   EFFET : liens secondaires / breadcrumb / sous-menu
   SELECTEUR(S) : .second_nav ul li
   ========================================================== */
.second_nav ul li {
    margin-left: 5px;
    margin-right: 5px;
    font-size: 0.8em;
    text-align: center;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/header.php
   SECTION : Sous-navigation
   EFFET : liens secondaires / breadcrumb / sous-menu
   SELECTEUR(S) : .second_nav ul li a
   ========================================================== */
.second_nav ul li a {
    text-decoration: none;
    color: rgb(4, 0, 43);
    text-shadow: none;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .form_profil
   ========================================================== */
.form_profil {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: justify;
    text-justify: inter-word;
    border-radius: 10px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: rgb(4, 0, 43);
    color: rgb(224, 224, 224);
    padding: 30px;
    margin-bottom: 30px;
    width: 85%;
    -webkit-box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
            box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .form_profil .imgprofil
   ========================================================== */
.form_profil .imgprofil {
    width: 200px;
    height: 200px;
    margin-bottom: 20px;
    -o-object-fit: cover;
       object-fit: cover;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .form_profil input
   ========================================================== */
.form_profil input {
    margin-top: 5px;
    margin-bottom: 5px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .form_profil .box-button
   ========================================================== */
.form_profil .box-button {
    margin: 5px;
    width: 70px;
    border-radius: 5px;
    height: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .form_profil img
   ========================================================== */
.form_profil img {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .main_nav
   ========================================================== */
.main_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: rgb(255, 255, 255);
    color: rgb(11, 163, 223);
    height: 80px;
    width: 100vw;
    padding-top: 30px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .main_nav ul
   ========================================================== */
.main_nav ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .main_nav ul li
   ========================================================== */
.main_nav ul li {
    margin-left: 5px;
    margin-right: 5px;
    text-align: center;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .first_block
   ========================================================== */
.first_block {
    width: 80%;
    text-align: center;
    background: white;
    color: rgb(224, 224, 224);
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .first_block img
   ========================================================== */
.first_block img {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block
   ========================================================== */
.main_block {
    text-align: justify;
    text-justify: inter-word;
    border-radius: 10px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: rgb(4, 0, 43);
    color: rgb(224, 224, 224);
    padding: 20px;
    margin-bottom: 30px;
    width: 85%;
    -webkit-box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
            box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block .imggrosplan
   ========================================================== */
.main_block .imggrosplan {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block .imgsuivicomp
   ========================================================== */
.main_block .imgsuivicomp {
    height: 20px;
    width: 20px;
    margin-left: 5px;
    margin-right: 5px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block .main_block_aligncenter
   ========================================================== */
.main_block .main_block_aligncenter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block .main_block_aligncenter .trombicontainer
   ========================================================== */
.main_block .main_block_aligncenter .trombicontainer {
    width: 120px;
    font-size: 0.8em;
    margin-bottom: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block .main_block_aligncenter .trombicontainer .imgtrombi
   ========================================================== */
.main_block .main_block_aligncenter .trombicontainer .imgtrombi {
    width: 120px;
    height: 120px;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 10%;
    object-fit: cover;
    border: 1px solid #0077b6;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .div_img
   ========================================================== */
.div_img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    margin-top: 20px;
    margin-bottom: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .div_img img
   ========================================================== */
.div_img img {
    width: 100%;
    -webkit-box-shadow: 2px 2px 2px 1px rgb(0, 0, 0);
            box-shadow: 2px 2px 2px 1px rgb(0, 0, 0);
    margin-bottom: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .bureau
   ========================================================== */
.bureau {
    width: 80%;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .bureau img
   ========================================================== */
.bureau img {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .video_container
   ========================================================== */
.video_container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .video_container .video
   ========================================================== */
.video_container .video {
    width: 80vw;
    height: 50vw;
    padding: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/footer.php
   SECTION : Pied de page
   EFFET : structure du footer et liens
   SELECTEUR(S) : footer
   ========================================================== */
footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 30px;
    background: rgb(224, 224, 224);
    padding-left: 20px;
    -webkit-box-shadow: inset 3px 7px 5px rgba(0, 0, 0, 0.521);
            box-shadow: inset 3px 7px 5px rgba(0, 0, 0, 0.521);
    padding-right: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/footer.php
   SECTION : Pied de page
   EFFET : structure du footer et liens
   SELECTEUR(S) : footer p
   ========================================================== */
footer p {
    font-size: 0.6em;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/footer.php
   SECTION : Pied de page
   EFFET : structure du footer et liens
   SELECTEUR(S) : footer .licence
   ========================================================== */
footer .licence {
    font-size: 0.6em;
    color: rgb(138, 138, 138);
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .secret
   ========================================================== */
.secret {
    color: rgb(224, 224, 224);
    font-weight: normal;
    cursor: auto;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : phototheque.php
   SECTION : Photothèque / diaporama
   EFFET : vignettes et diaporama
   SELECTEUR(S) : .phototeque .imgweekcontainer .suppr
   ========================================================== */
.phototeque .imgweekcontainer .suppr {
    position: relative;
    top: 10px;
    left: 105px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-box
   ========================================================== */
.competence-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-box h2
   ========================================================== */
.competence-box h2 {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-box h3
   ========================================================== */
.competence-box h3 {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-legende
   ========================================================== */
.competence-legende {
    width: 100%;
    background-color: rgb(214, 214, 214);
    border-radius: 10px;
    padding: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-legende .imgsuivicomp
   ========================================================== */
.competence-legende .imgsuivicomp {
    display: inline;
    height: 30px;
    width: 30px;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-legende p
   ========================================================== */
.competence-legende p {
    font-size: 0.9em;
    color: black;
    text-align: left;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence
   ========================================================== */
.competence {
    width: 100%;
    height: 150px;
    background-color: rgb(214, 214, 214);
    border-radius: 10px;
    padding: 10px;
    margin: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .imgsuivicompbox
   ========================================================== */
.competence .imgsuivicompbox {
    height: 30px;
    background-color: rgb(255, 255, 255);
    border-radius: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .imgsuivicompbox .suppr
   ========================================================== */
.competence .imgsuivicompbox .suppr {
    position: relative;
    bottom: 10px;
    right: 10px;
    right: 0;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .imgsuivicompbox .imgsuivicomp
   ========================================================== */
.competence .imgsuivicompbox .imgsuivicomp {
    height: 20px;
    width: 20px;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .text
   ========================================================== */
.competence .text {
    width: 100%;
    height: 80px;
    font-size: 0.9em;
    overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-color: yellow rgb(214, 214, 214);
    color: black;
    text-align: left;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .add
   ========================================================== */
.competence .add {
    padding-top: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .add a
   ========================================================== */
.competence .add a {
    font-size: 1.4em;
    width: 28%;
    height: 30px;
    background-color: rgb(199, 199, 199);
    text-align: center;
    border-radius: 5px;
    text-shadow: none;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .add a:hover
   ========================================================== */
.competence .add a:hover {
    text-decoration: underline;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : table
   ========================================================== */
.competence table {
    border-collapse: collapse;
    border: 1px solid rgb(140, 140, 140);
    font-size: 0.4rem;
  }      /* ==========================================================
         SCOPE : @media screen and (max-width: 800px)
         PAGE  : global
         SECTION : Éléments HTML
         EFFET : règles sur éléments (typographie, espacements)
         SELECTEUR(S) : th,
td
         ========================================================== */
.competence th,
  .competence td {
    border: 1px solid rgb(160, 160, 160);
    padding: 2px 2px;
  }      /* ==========================================================
         SCOPE : @media screen and (max-width: 800px)
         PAGE  : global
         SECTION : Composant / utilitaire
         EFFET : règles ciblées par classe
         SELECTEUR(S) : th .imgsuivicomp,
td .imgsuivicomp
         ========================================================== */
.competence th .imgsuivicomp,
  .competence td .imgsuivicomp {
    height: 15px;
    width: 15px;
    margin-bottom: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : td:last-of-type
   ========================================================== */
td:last-of-type {
    text-align: center;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : th
   ========================================================== */
.competence th {
    background-color: rgb(199, 199, 199);
    color: black;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    text-orientation: mixed;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .weekend-image
   ========================================================== */
.weekend-image {
    width: 100%;
    height: 150px;
    -o-object-fit: cover;
       object-fit: cover;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .weekend-content
   ========================================================== */
.weekend-content {
    padding: 1rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .weekend-title
   ========================================================== */
.weekend-title {
    font-size: 1rem;
    color: #0077b6;
    margin: 0 0 0.5rem 0;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .weekend-description
   ========================================================== */
.weekend-description {
    font-size: 0.8rem;
    margin-bottom: 1rem;
    color: #333;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .weekend-info
   ========================================================== */
.weekend-info {
    font-size: 0.95rem;
    color: #555;
    margin-bottom: 0.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .weekend-link
   ========================================================== */
.weekend-link {
  text-decoration: none; /* supprime soulignement */
  color: inherit;        /* garde la couleur héritée (pas le bleu des liens) */
  display: block;        /* l’ancre englobe tout le bloc */
}/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .organizer
   ========================================================== */
.organizer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.75rem;
    border-top: 1px solid #e0e0e0;
    padding-top: 0.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .organizer img
   ========================================================== */
.organizer img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .organizer-name
   ========================================================== */
.organizer-name {
    font-weight: bold;
    color: #023e8a;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container
   ========================================================== */
.profile-container {
    max-width: 800px;
    margin: auto;
    background-color: #fff;
    border-radius: 16px;
    -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    padding: 0.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container h2
   ========================================================== */
.profile-container h2 {
    text-align: center;
    color: #004466;
    margin-bottom: 1rem;
    font-size: 1rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .profile-container .profile-header
   ========================================================== */
.profile-container .profile-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .profile-container .profile-header img
   ========================================================== */
.profile-container .profile-header img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
    border: 3px solid #0077b6;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .form-grid
   ========================================================== */
.profile-container .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .form-group
   ========================================================== */
.profile-container .form-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .form-group img
   ========================================================== */
.profile-container .form-group img {
    width: 80%;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container label
   ========================================================== */
.profile-container label {
    font-weight: 600;
    margin-bottom: 0.3rem;
    color: #333;
  }      /* ==========================================================
         SCOPE : @media screen and (max-width: 800px)
         PAGE  : monprofil.php
         SECTION : Formulaire profil
         EFFET : grille et champs du profil utilisateur
         SELECTEUR(S) : .profile-container input[type=text],
.profile-container input[type=date],
.profile-container select
         ========================================================== */
.profile-container input[type=text],
  .profile-container input[type=date],
  .profile-container select {
    border: none;
    background-color: #f7fafd;
    padding: 0.4rem 0.5rem;
    border-radius: 8px;
    font-size: 0.6rem;
    -webkit-box-shadow: inset 0 0 0 1px #dce6ee;
            box-shadow: inset 0 0 0 1px #dce6ee;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }      /* ==========================================================
         SCOPE : @media screen and (max-width: 800px)
         PAGE  : monprofil.php
         SECTION : Formulaire profil
         EFFET : grille et champs du profil utilisateur
         SELECTEUR(S) : .profile-container input[type=text]:focus,
.profile-container input[type=date]:focus,
.profile-container select:focus
         ========================================================== */
.profile-container input[type=text]:focus,
  .profile-container input[type=date]:focus,
  .profile-container select:focus {
    outline: none;
    -webkit-box-shadow: 0 0 0 2px #0077b6;
            box-shadow: 0 0 0 2px #0077b6;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container input[type=file]
   ========================================================== */
.profile-container input[type=file] {
    font-size: 0.6rem;
    background: #f1f7fb;
    padding: 0.2rem;
    border-radius: 8px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .full-width
   ========================================================== */
.profile-container .full-width {
    grid-column: span 2;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .submit-btn
   ========================================================== */
.profile-container .submit-btn {
    margin-top: 2rem;
    width: 100%;
    background-color: #0077b6;
    color: white;
    font-size: 0.6rem;
    padding: 0.6rem;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .submit-btn:hover
   ========================================================== */
.profile-container .submit-btn:hover {
    background-color: #005c87;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend
   ========================================================== */
form.form_weekend {
    background: #ffffff;
    border-radius: 15px;
    -webkit-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    padding: 2rem;
    max-width: 800px;
    width: 100%;
    margin: auto;
    margin-bottom: 10px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
    color: #66909e;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content h2
   ========================================================== */
form.form_weekend .form-content h2 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    color: #023e8a;
    text-align: center;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content h3
   ========================================================== */
form.form_weekend .form-content h3 {
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    color: #0096c7;
    border-left: 4px solid #0096c7;
    padding-left: 0.5rem;
    font-size: 1.2rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content div
   ========================================================== */
form.form_weekend .form-content div {
    margin-bottom: 1rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content label
   ========================================================== */
form.form_weekend .form-content label {
    font-weight: bold;
    color: #333;
    display: block;
    margin-bottom: 0.3rem;
  }      /* ==========================================================
         SCOPE : @media screen and (max-width: 800px)
         PAGE  : global
         SECTION : Formulaires
         EFFET : styles génériques des champs et labels
         SELECTEUR(S) : form.form_weekend .form-content input[type=text],
form.form_weekend .form-content input[type=date],
form.form_weekend .form-content input[type=number],
form.form_weekend .form-content select,
form.form_weekend .form-content textarea
         ========================================================== */
form.form_weekend .form-content input[type=text],
  form.form_weekend .form-content input[type=date],
  form.form_weekend .form-content input[type=number],
  form.form_weekend .form-content select,
  form.form_weekend .form-content textarea {
    width: 100%;
    padding: 0.6rem;
    border: 1px solid #5f5f5f;
    border-radius: 8px;
    font-size: 1rem;
    -webkit-transition: border 0.3s, -webkit-box-shadow 0.3s;
    transition: border 0.3s, -webkit-box-shadow 0.3s;
    transition: border 0.3s, box-shadow 0.3s;
    transition: border 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
  }      /* ==========================================================
         SCOPE : @media screen and (max-width: 800px)
         PAGE  : global
         SECTION : Formulaires
         EFFET : styles génériques des champs et labels
         SELECTEUR(S) : form.form_weekend .form-content input[type=text]:focus,
form.form_weekend .form-content input[type=date]:focus,
form.form_weekend .form-content input[type=number]:focus,
form.form_weekend .form-content select:focus,
form.form_weekend .form-content textarea:focus
         ========================================================== */
form.form_weekend .form-content input[type=text]:focus,
  form.form_weekend .form-content input[type=date]:focus,
  form.form_weekend .form-content input[type=number]:focus,
  form.form_weekend .form-content select:focus,
  form.form_weekend .form-content textarea:focus {
    border-color: #0096c7;
    -webkit-box-shadow: 0 0 8px rgba(0, 150, 199, 0.4);
            box-shadow: 0 0 8px rgba(0, 150, 199, 0.4);
    outline: none;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content textarea
   ========================================================== */
form.form_weekend .form-content textarea {
    resize: none;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content input[type=radio]
   ========================================================== */
form.form_weekend .form-content input[type=radio] {
    margin-right: 0.3rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content p
   ========================================================== */
form.form_weekend .form-content p {
    font-size: 0.9rem;
    color: #3d3d3d;
    margin-top: -0.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content .box-button
   ========================================================== */
form.form_weekend .form-content .box-button {
    display: block;
    background: #0096c7;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 0.8rem 1.5rem;
    font-size: 1rem;
    font-weight: bold;
    margin: 1.5rem auto 0;
    cursor: pointer;
    -webkit-transition: background 0.3s, -webkit-transform 0.2s;
    transition: background 0.3s, -webkit-transform 0.2s;
    transition: background 0.3s, transform 0.2s;
    transition: background 0.3s, transform 0.2s, -webkit-transform 0.2s;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content .box-button:hover
   ========================================================== */
form.form_weekend .form-content .box-button:hover {
    background: #0077b6;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-photo
   ========================================================== */
form.form_weekend .form-photo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-photo .imgprofil
   ========================================================== */
form.form_weekend .form-photo .imgprofil {
    display: block;
    max-width: 100%;
    border-radius: 12px;
    margin-bottom: 1rem;
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-photo input[type=file]
   ========================================================== */
form.form_weekend .form-photo input[type=file] {
    margin-top: 0.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-photo p
   ========================================================== */
form.form_weekend .form-photo p {
    font-size: 0.85rem;
    color: #666;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : .form-banner .banner-text
   ========================================================== */
.form-banner .banner-text {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : .form-banner .banner-text h2
   ========================================================== */
.form-banner .banner-text h2 {
    font-size: 2rem;
    margin-bottom: 0.3rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : .form-banner .banner-text p
   ========================================================== */
.form-banner .banner-text p {
    font-size: 1.1rem;
    font-weight: 300;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend
   ========================================================== */
.fiche-weekend {
    background: #fff;
    border-radius: 15px;
    -webkit-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    max-width: 1000px;
    margin: 2rem auto;
    font-family: "Segoe UI", Roboto, sans-serif;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-banner
   ========================================================== */
.fiche-weekend .fiche-banner {
    position: relative;
    height: 150px;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-banner img
   ========================================================== */
.fiche-weekend .fiche-banner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-filter: brightness(65%);
            filter: brightness(65%);
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-banner .banner-text
   ========================================================== */
.fiche-weekend .fiche-banner .banner-text {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-banner .banner-text h2
   ========================================================== */
.fiche-weekend .fiche-banner .banner-text h2 {
    font-size: 2rem;
    margin-bottom: 0.3rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-banner .banner-text p
   ========================================================== */
.fiche-weekend .fiche-banner .banner-text p {
    font-size: 1.1rem;
    font-weight: 300;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content
   ========================================================== */
.fiche-weekend .fiche-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    padding: 2rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content .fiche-infos h3
   ========================================================== */
.fiche-weekend .fiche-content .fiche-infos h3 {
    margin-top: 1rem;
    color: #0096c7;
    border-left: 4px solid #0096c7;
    padding-left: 0.5rem;
    font-size: 1.2rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content .fiche-infos p
   ========================================================== */
.fiche-weekend .fiche-content .fiche-infos p {
    margin: 0.3rem 0 1rem;
    color: #333;
    line-height: 1.5;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content .fiche-photo
   ========================================================== */
.fiche-weekend .fiche-content .fiche-photo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content .fiche-photo .img-fiche
   ========================================================== */
.fiche-weekend .fiche-content .fiche-photo .img-fiche {
    max-width: 100%;
    border-radius: 12px;
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-description
   ========================================================== */
.fiche-weekend .fiche-description {
    padding: 1.5rem 2rem 2rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-description h3
   ========================================================== */
.fiche-weekend .fiche-description h3 {
    color: #0096c7;
    border-left: 4px solid #0096c7;
    padding-left: 0.5rem;
    margin-bottom: 0.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-description p
   ========================================================== */
.fiche-weekend .fiche-description p {
    color: #444;
    line-height: 1.6;
    white-space: pre-line;
  }        /* ==========================================================
           SCOPE : @media screen and (max-width: 800px)
           PAGE  : layout/header.php
           SECTION : Navigation principale
           EFFET : structure et style du menu principal
           SELECTEUR(S) : /* === from: @media screen and (max-width: 800px) and (max-width: 400px) === */
.main_nav ul li
           ========================================================== */
/* === from: @media screen and (max-width: 800px) and (max-width: 400px) === */
.main_nav ul li {
    font-size: 0.8em;
  }        /* ==========================================================
           SCOPE : @media screen and (max-width: 800px)
           PAGE  : monprofil.php
           SECTION : Formulaire profil
           EFFET : grille et champs du profil utilisateur
           SELECTEUR(S) : /* === from: @media screen and (max-width: 800px) and (max-width: 700px) === */
.profile-container .form-grid
           ========================================================== */
/* === from: @media screen and (max-width: 800px) and (max-width: 700px) === */
.profile-container .form-grid {
    grid-template-columns: 1fr;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .full-width
   ========================================================== */
.profile-container .full-width {
    grid-column: span 1;
  }        /* ==========================================================
           SCOPE : @media screen and (max-width: 800px)
           PAGE  : global
           SECTION : Formulaires
           EFFET : styles génériques des champs et labels
           SELECTEUR(S) : /* === from: @media screen and (max-width: 800px) and (max-width: 768px) === */
form.form_weekend
           ========================================================== */
/* === from: @media screen and (max-width: 800px) and (max-width: 768px) === */
form.form_weekend {
    grid-template-columns: 1fr;
  }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content
   ========================================================== */
.fiche-weekend .fiche-content {
    grid-template-columns: 1fr;
  }        /* ==========================================================
           SCOPE : @media screen and (max-width: 800px)
           PAGE  : global
           SECTION : Boutons
           EFFET : style des boutons et interactions
           SELECTEUR(S) : /* === from: @media (max-width: 768px) === */


  /* === from: @media (max-width: 480px) === */
.btn, button
           ========================================================== */
/* === from: @media (max-width: 768px) === */


  /* === from: @media (max-width: 480px) === */
.btn, button { width:100%; }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Boutons
   EFFET : style des boutons et interactions
   SELECTEUR(S) : .btn
   ========================================================== */
.btn { width:100%; }        /* ==========================================================
           SCOPE : @media screen and (max-width: 800px)
           PAGE  : global
           SECTION : Formulaires
           EFFET : styles génériques des champs et labels
           SELECTEUR(S) : /* === from: @media screen and (max-width: 768px) === */
.form-container
           ========================================================== */
/* === from: @media screen and (max-width: 768px) === */
.form-container {
        padding: 20px;
    }/* ==========================================================
   SCOPE : @media screen and (max-width: 800px)
   PAGE  : global
   SECTION : Boutons
   EFFET : style des boutons et interactions
   SELECTEUR(S) : button
   ========================================================== */
button {
        font-size: 16px;
    }

}






/* /* ===================== DESKTOP ===================== */

/* ===================== MEDIA : screen and (min-width: 801px) ===================== */

@media screen and (min-width: 801px) {
        /* ==========================================================
           SCOPE : @media screen and (min-width: 801px)
           PAGE  : global
           SECTION : Composant / utilitaire
           EFFET : règles ciblées par classe
           SELECTEUR(S) : /* === from: @media merged in-place)
   Generated: 2025-10-03 23:46
   Notes:
   - Exact declarations preserved; only duplicate @media blocks were merged.
   - Merged block is emitted at the FIRST occurrence position; later duplicates removed.
   - This file should be iso-visuel with index.final.css.
   ============================================================================= */

@media screen and (min-width: 800px) === */
*
           ========================================================== */
/* === from: @media merged in-place)
   Generated: 2025-10-03 23:46
   Notes:
   - Exact declarations preserved; only duplicate @media blocks were merged.
   - Merged block is emitted at the FIRST occurrence position; later duplicates removed.
   - This file should be iso-visuel with index.final.css.
   ============================================================================= */

@media screen and (min-width: 800px) === */
* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : a
   ========================================================== */
a {
    text-decoration: none;
    color: rgb(11, 163, 223);
    text-shadow: 2px 2px 1px rgb(4, 0, 43);
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : h1
   ========================================================== */
h1 {
    text-align: center;
    color: rgb(224, 224, 224);
    font-size: 2em;
    margin: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : h2
   ========================================================== */
h2 {
    text-align: center;
    color: rgb(11, 163, 223);
    font-size: 2em;
    margin: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : h3
   ========================================================== */
h3 {
    text-align: center;
    color: rgb(224, 224, 224);
    font-size: 1.5em;
    margin-top: 15px;
    margin-bottom: 5px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : h4
   ========================================================== */
h4 {
    color: yellow;
    font-size: 1em;
    margin-top: 15px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : h5
   ========================================================== */
h5 {
    color: rgb(224, 224, 224);
    text-decoration: underline;
    font-size: 1em;
    margin-top: 5px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : body
   ========================================================== */
body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-family: sans-serif;

    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : includes/loginbar.php
   SECTION : Barre d’authentification
   EFFET : affichage connexion / mdp oublié
   SELECTEUR(S) : .loginbar form .box-button
   ========================================================== */
.loginbar form .box-button {
    width: 70px;
    border-radius: 5px;
    height: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : includes/loginbar.php
   SECTION : Barre d’authentification
   EFFET : affichage connexion / mdp oublié
   SELECTEUR(S) : .loginbar .box-register
   ========================================================== */
.loginbar .box-register {
    font-weight: bold;
    cursor: -webkit-grab;
    cursor: grab;
    margin-left: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fixedmessagebox .box
   ========================================================== */
.fixedmessagebox .box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .main_nav
   ========================================================== */
.main_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: white;
    color: rgb(11, 163, 223);
    margin-top: 20px;
    height: 100px;
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .main_nav ul
   ========================================================== */
.main_nav ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .main_nav ul li
   ========================================================== */
.main_nav ul li {
    margin-left: 15px;
    margin-right: 15px;
    font-size: 2em;
    text-align: center;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/header.php
   SECTION : Sous-navigation
   EFFET : liens secondaires / breadcrumb / sous-menu
   SELECTEUR(S) : .second_nav
   ========================================================== */
.second_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: rgb(224, 224, 224);
    color: rgb(4, 0, 43);
    height: 30px;
    width: 60%;
    -webkit-box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
            box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
    border-radius: 5px;
    margin-bottom: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/header.php
   SECTION : Sous-navigation
   EFFET : liens secondaires / breadcrumb / sous-menu
   SELECTEUR(S) : .second_nav ul
   ========================================================== */
.second_nav ul {
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/header.php
   SECTION : Sous-navigation
   EFFET : liens secondaires / breadcrumb / sous-menu
   SELECTEUR(S) : .second_nav ul li
   ========================================================== */
.second_nav ul li {
    margin-left: 15px;
    margin-right: 15px;
    font-size: 1.5em;
    text-align: center;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/header.php
   SECTION : Sous-navigation
   EFFET : liens secondaires / breadcrumb / sous-menu
   SELECTEUR(S) : .second_nav ul li a
   ========================================================== */
.second_nav ul li a {
    text-decoration: none;
    color: rgb(4, 0, 43);
    text-shadow: none;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .form_profil
   ========================================================== */
.form_profil {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    text-align: justify;
    text-justify: inter-word;
    border-radius: 10px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: rgb(4, 0, 43);
    color: rgb(224, 224, 224);
    padding: 30px;
    margin-bottom: 30px;
    width: 85%;
    -webkit-box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
            box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .form_profil .imgprofil
   ========================================================== */
.form_profil .imgprofil {
    width: 300px;
    height: 300px;
    -o-object-fit: cover;
       object-fit: cover;
    margin-top: 10px;
    margin-bottom: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .form_profil input
   ========================================================== */
.form_profil input {
    margin-top: 5px;
    margin-bottom: 5px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .form_profil .box-button
   ========================================================== */
.form_profil .box-button {
    margin: 5px;
    width: 70px;
    border-radius: 5px;
    height: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .form_profil img
   ========================================================== */
.form_profil img {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .first_block
   ========================================================== */
.first_block {
    text-align: center;
    background: white;
    color: rgb(224, 224, 224);
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block
   ========================================================== */
.main_block {
    text-align: justify;
    text-justify: inter-word;
    border-radius: 10px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: rgb(4, 0, 43);
    color: rgb(224, 224, 224);
    padding: 30px;
    margin-bottom: 30px;
    width: 85%;
    -webkit-box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
            box-shadow: 5px 4px 7px 1px rgb(82, 82, 82);
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block .imggrosplan
   ========================================================== */
.main_block .imggrosplan {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block .main_block_aligncenter
   ========================================================== */
.main_block .main_block_aligncenter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block .main_block_aligncenter .trombicontainer
   ========================================================== */
.main_block .main_block_aligncenter .trombicontainer {
    width: 200px;
    font-size: 0.8em;
    margin-bottom: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block .main_block_aligncenter .trombicontainer .imgtrombi
   ========================================================== */
.main_block .main_block_aligncenter .trombicontainer .imgtrombi {
    width: 200px;
    height: 200px;
    border-radius: 10%;
    -o-object-fit: cover;
       object-fit: cover;
    border: 3px solid #0077b6;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .div_img
   ========================================================== */
.div_img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    margin-top: 20px;
    margin-bottom: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .div_img img
   ========================================================== */
.div_img img {
    width: 30%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .bureau
   ========================================================== */
.bureau {
    width: 30%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .bureau img
   ========================================================== */
.bureau img {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .video_container
   ========================================================== */
.video_container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .video_container .video
   ========================================================== */
.video_container .video {
    width: 50vw;
    height: 30vw;
    padding: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/footer.php
   SECTION : Pied de page
   EFFET : structure du footer et liens
   SELECTEUR(S) : footer
   ========================================================== */
footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    height: 30px;
    background: rgb(224, 224, 224);
    padding-left: 20px;
    -webkit-box-shadow: inset 3px 7px 5px rgba(0, 0, 0, 0.521);
            box-shadow: inset 3px 7px 5px rgba(0, 0, 0, 0.521);
    padding-right: 20px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/footer.php
   SECTION : Pied de page
   EFFET : structure du footer et liens
   SELECTEUR(S) : footer .licence
   ========================================================== */
footer .licence {
    font-size: 0.8em;
    color: rgb(138, 138, 138);
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .secret
   ========================================================== */
.secret {
    color: rgb(224, 224, 224);
    font-weight: normal;
    cursor: auto;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : phototheque.php
   SECTION : Photothèque / diaporama
   EFFET : vignettes et diaporama
   SELECTEUR(S) : .phototeque .imgweekcontainer .suppr
   ========================================================== */
.phototeque .imgweekcontainer .suppr {
    position: relative;
    top: 10px;
    left: 205px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : phototheque.php
   SECTION : Photothèque / diaporama
   EFFET : vignettes et diaporama
   SELECTEUR(S) : .diapo
   ========================================================== */
.diapo {
    width: 80%;
    margin: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : phototheque.php
   SECTION : Photothèque / diaporama
   EFFET : vignettes et diaporama
   SELECTEUR(S) : .diapo img
   ========================================================== */
.diapo img {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : phototheque.php
   SECTION : Photothèque / diaporama
   EFFET : vignettes et diaporama
   SELECTEUR(S) : .diapo .suppr
   ========================================================== */
.diapo .suppr {
    position: relative;
    top: 10px;
    left: 205px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-box
   ========================================================== */
.competence-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-box h2
   ========================================================== */
.competence-box h2 {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-box h3
   ========================================================== */
.competence-box h3 {
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-legende
   ========================================================== */
.competence-legende {
    width: 100%;
    background-color: rgb(214, 214, 214);
    border-radius: 10px;
    padding: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-legende .imgsuivicomp
   ========================================================== */
.competence-legende .imgsuivicomp {
    display: inline;
    height: 40px;
    width: 40px;
    margin-left: 5px;
    margin-right: 5px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence-legende p
   ========================================================== */
.competence-legende p {
    font-size: 0.9em;
    color: black;
    text-align: left;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence
   ========================================================== */
.competence {
    width: 280px;
    height: 150px;
    background-color: rgb(214, 214, 214);
    border-radius: 10px;
    padding: 10px;
    margin: 10px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .imgsuivicompbox
   ========================================================== */
.competence .imgsuivicompbox {
    height: 30px;
    background-color: rgb(255, 255, 255);
    border-radius: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .imgsuivicompbox .suppr
   ========================================================== */
.competence .imgsuivicompbox .suppr {
    position: relative;
    bottom: 10px;
    right: 10px;
    right: 0;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .imgsuivicompbox .imgsuivicomp
   ========================================================== */
.competence .imgsuivicompbox .imgsuivicomp {
    height: 20px;
    width: 20px;
    margin-left: 5px;
    margin-right: 5px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .text
   ========================================================== */
.competence .text {
    width: 100%;
    height: 80px;
    font-size: 0.9em;
    overflow-y: scroll;
    overflow-x: hidden;
    scrollbar-color: yellow rgb(214, 214, 214);
    color: black;
    text-align: left;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .add
   ========================================================== */
.competence .add {
    padding-top: 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .add a
   ========================================================== */
.competence .add a {
    font-size: 1.4em;
    width: 28%;
    height: 30px;
    background-color: rgb(199, 199, 199);
    text-align: center;
    border-radius: 5px;
    text-shadow: none;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : .competence .add a:hover
   ========================================================== */
.competence .add a:hover {
    text-decoration: underline;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : competences.php
   SECTION : Tableau de compétences
   EFFET : table responsive / en-têtes / cellules
   SELECTEUR(S) : table
   ========================================================== */
.competence table {
    border-collapse: collapse;
    border: 2px solid rgb(140, 140, 140);
    font-size: 0.8rem;
    overflow-x: hidden;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : global
         SECTION : Éléments HTML
         EFFET : règles sur éléments (typographie, espacements)
         SELECTEUR(S) : th,
td
         ========================================================== */
.competence th,
  .competence td {
    border: 1px solid rgb(160, 160, 160);
    padding: 4px 4px;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : global
         SECTION : Composant / utilitaire
         EFFET : règles ciblées par classe
         SELECTEUR(S) : th .imgsuivicomp,
td .imgsuivicomp
         ========================================================== */
.competence th .imgsuivicomp,
  .competence td .imgsuivicomp {
    height: 20px;
    width: 20px;
    margin-left: 5px;
    margin-right: 5px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : td:last-of-type
   ========================================================== */
td:last-of-type {
    text-align: center;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Éléments HTML
   EFFET : règles sur éléments (typographie, espacements)
   SELECTEUR(S) : th
   ========================================================== */
.competence th {
    background-color: rgb(199, 199, 199);
    color: black;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    text-orientation: mixed;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .weekend-image
   ========================================================== */
.weekend-image {
    width: 100%;
    height: 200px;
    -o-object-fit: cover;
       object-fit: cover;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .weekend-content
   ========================================================== */
.weekend-content {
    padding: 1.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .weekend-title
   ========================================================== */
.weekend-title {
    font-size: 1.5rem;
    color: #0077b6;
    margin: 0 0 0.5rem 0;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .weekend-description
   ========================================================== */
.weekend-description {
    font-size: 1rem;
    margin-bottom: 1rem;
    color: #333;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .weekend-info
   ========================================================== */
.weekend-info {
    font-size: 0.95rem;
    color: #555;
    margin-bottom: 1rem;
  }        /* ==========================================================
           SCOPE : @media screen and (min-width: 801px)
           PAGE  : weekend.php
           SECTION : Cartes week-ends
           EFFET : grille, cartes et CTA des week-ends
           SELECTEUR(S) : /* Si le titre contient l’ancre à l’intérieur */
.weekend-title a,
.weekend-title a:visited,
.weekend-title a:hover,
.weekend-title a:active
           ========================================================== */
/* Si le titre contient l’ancre à l’intérieur */
.weekend-title a,
.weekend-title a:visited,
.weekend-title a:hover,
.weekend-title a:active {
  color: inherit !important;
  text-shadow: none !important;
  text-decoration: none;
  font: inherit;
}/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .organizer
   ========================================================== */
.organizer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.75rem;
    border-top: 1px solid #e0e0e0;
    padding-top: 1rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .organizer img
   ========================================================== */
.organizer img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .organizer-name
   ========================================================== */
.organizer-name {
    font-weight: bold;
    color: #023e8a;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container
   ========================================================== */
.profile-container {
    color: #66909e;
    max-width: 800px;
    margin: auto;
    background-color: #fff;
    border-radius: 16px;
    -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    padding: 2rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container h2
   ========================================================== */
.profile-container h2 {
    text-align: center;
    color: #004466;
    margin-bottom: 2rem;
    font-size: 2rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .profile-container .profile-header
   ========================================================== */
.profile-container .profile-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.5rem;
    margin-bottom: 2rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .profile-container .profile-header img
   ========================================================== */
.profile-container .profile-header img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
    border: 3px solid #0077b6;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .form-grid
   ========================================================== */
.profile-container .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .form-group
   ========================================================== */
.profile-container .form-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .form-group img
   ========================================================== */
.profile-container .form-group img {
    width: 60%;
    margin: auto;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container label
   ========================================================== */
.profile-container label {
    font-weight: 600;
    margin-bottom: 0.3rem;
    color: #333;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : monprofil.php
         SECTION : Formulaire profil
         EFFET : grille et champs du profil utilisateur
         SELECTEUR(S) : .profile-container input[type=text],
.profile-container input[type=date],
.profile-container select
         ========================================================== */
.profile-container input[type=text],
  .profile-container input[type=date],
  .profile-container select {
    border: none;
    background-color: #f7fafd;
    padding: 0.7rem 1rem;
    border-radius: 8px;
    font-size: 1rem;
    -webkit-box-shadow: inset 0 0 0 1px #dce6ee;
            box-shadow: inset 0 0 0 1px #dce6ee;
    -webkit-transition: 0.2s;
    transition: 0.2s;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : monprofil.php
         SECTION : Formulaire profil
         EFFET : grille et champs du profil utilisateur
         SELECTEUR(S) : .profile-container input[type=text]:focus,
.profile-container input[type=date]:focus,
.profile-container select:focus
         ========================================================== */
.profile-container input[type=text]:focus,
  .profile-container input[type=date]:focus,
  .profile-container select:focus {
    outline: none;
    -webkit-box-shadow: 0 0 0 2px #0077b6;
            box-shadow: 0 0 0 2px #0077b6;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container input[type=file]
   ========================================================== */
.profile-container input[type=file] {
    font-size: 0.9rem;
    background: #f1f7fb;
    padding: 0.5rem;
    border-radius: 8px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .full-width
   ========================================================== */
.profile-container .full-width {
    grid-column: span 2;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .submit-btn
   ========================================================== */
.profile-container .submit-btn {
    margin-top: 2rem;
    width: 100%;
    background-color: #0077b6;
    color: white;
    font-size: 1rem;
    padding: 0.9rem;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : monprofil.php
   SECTION : Formulaire profil
   EFFET : grille et champs du profil utilisateur
   SELECTEUR(S) : .profile-container .submit-btn:hover
   ========================================================== */
.profile-container .submit-btn:hover {
    background-color: #005c87;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend
   ========================================================== */
form.form_weekend {
    background: #ffffff;
    border-radius: 15px;
    -webkit-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    padding: 2rem;
    max-width: 800px;
    width: 100%;
    margin: auto;
    margin-bottom: 10px;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 2rem;
    color: #66909e;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content h2
   ========================================================== */
form.form_weekend .form-content h2 {
    font-size: 1.8rem;
    margin-bottom: 1rem;
    color: #023e8a;
    text-align: center;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content h3
   ========================================================== */
form.form_weekend .form-content h3 {
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    color: #0096c7;
    border-left: 4px solid #0096c7;
    padding-left: 0.5rem;
    font-size: 1.2rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content div
   ========================================================== */
form.form_weekend .form-content div {
    margin-bottom: 1rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content label
   ========================================================== */
form.form_weekend .form-content label {
    font-weight: bold;
    color: #333;
    display: block;
    margin-bottom: 0.3rem;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : global
         SECTION : Formulaires
         EFFET : styles génériques des champs et labels
         SELECTEUR(S) : form.form_weekend .form-content input[type=text],
form.form_weekend .form-content input[type=date],
form.form_weekend .form-content input[type=number],
form.form_weekend .form-content select,
form.form_weekend .form-content textarea
         ========================================================== */
form.form_weekend .form-content input[type=text],
  form.form_weekend .form-content input[type=date],
  form.form_weekend .form-content input[type=number],
  form.form_weekend .form-content select,
  form.form_weekend .form-content textarea {
    width: 100%;
    padding: 0.6rem;
    border: 1px solid #5f5f5f;
    border-radius: 8px;
    font-size: 1rem;
    -webkit-transition: border 0.3s, -webkit-box-shadow 0.3s;
    transition: border 0.3s, -webkit-box-shadow 0.3s;
    transition: border 0.3s, box-shadow 0.3s;
    transition: border 0.3s, box-shadow 0.3s, -webkit-box-shadow 0.3s;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : global
         SECTION : Formulaires
         EFFET : styles génériques des champs et labels
         SELECTEUR(S) : form.form_weekend .form-content input[type=text]:focus,
form.form_weekend .form-content input[type=date]:focus,
form.form_weekend .form-content input[type=number]:focus,
form.form_weekend .form-content select:focus,
form.form_weekend .form-content textarea:focus
         ========================================================== */
form.form_weekend .form-content input[type=text]:focus,
  form.form_weekend .form-content input[type=date]:focus,
  form.form_weekend .form-content input[type=number]:focus,
  form.form_weekend .form-content select:focus,
  form.form_weekend .form-content textarea:focus {
    border-color: #0096c7;
    -webkit-box-shadow: 0 0 8px rgba(0, 150, 199, 0.4);
            box-shadow: 0 0 8px rgba(0, 150, 199, 0.4);
    outline: none;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content textarea
   ========================================================== */
form.form_weekend .form-content textarea {
    resize: none;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content input[type=radio]
   ========================================================== */
form.form_weekend .form-content input[type=radio] {
    margin-right: 0.3rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content p
   ========================================================== */
form.form_weekend .form-content p {
    font-size: 0.9rem;
    color: #3d3d3d;
    margin-top: -0.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content .box-button
   ========================================================== */
form.form_weekend .form-content .box-button {
    display: block;
    background: #0096c7;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 0.8rem 1.5rem;
    font-size: 1rem;
    font-weight: bold;
    margin: 1.5rem auto 0;
    cursor: pointer;
    -webkit-transition: background 0.3s, -webkit-transform 0.2s;
    transition: background 0.3s, -webkit-transform 0.2s;
    transition: background 0.3s, transform 0.2s;
    transition: background 0.3s, transform 0.2s, -webkit-transform 0.2s;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-content .box-button:hover
   ========================================================== */
form.form_weekend .form-content .box-button:hover {
    background: #0077b6;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-photo
   ========================================================== */
form.form_weekend .form-photo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-photo .imgprofil
   ========================================================== */
form.form_weekend .form-photo .imgprofil {
    display: block;
    max-width: 100%;
    border-radius: 12px;
    margin-bottom: 1rem;
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-photo input[type=file]
   ========================================================== */
form.form_weekend .form-photo input[type=file] {
    margin-top: 0.5rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : form.form_weekend .form-photo p
   ========================================================== */
form.form_weekend .form-photo p {
    font-size: 0.85rem;
    color: #666;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : .form-banner .banner-text
   ========================================================== */
.form-banner .banner-text {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : .form-banner .banner-text h2
   ========================================================== */
.form-banner .banner-text h2 {
    font-size: 2rem;
    margin-bottom: 0.3rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Formulaires
   EFFET : styles génériques des champs et labels
   SELECTEUR(S) : .form-banner .banner-text p
   ========================================================== */
.form-banner .banner-text p {
    font-size: 1.1rem;
    font-weight: 300;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend
   ========================================================== */
.fiche-weekend {
    background: #fff;
    border-radius: 15px;
    -webkit-box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    max-width: 1000px;
    margin: 2rem auto;
    font-family: "Segoe UI", Roboto, sans-serif;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-banner
   ========================================================== */
.fiche-weekend .fiche-banner {
    position: relative;
    height: 150px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-banner img
   ========================================================== */
.fiche-weekend .fiche-banner img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-filter: brightness(65%);
            filter: brightness(65%);
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-banner .banner-text
   ========================================================== */
.fiche-weekend .fiche-banner .banner-text {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-banner .banner-text h2
   ========================================================== */
.fiche-weekend .fiche-banner .banner-text h2 {
    font-size: 2rem;
    margin-bottom: 0.3rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-banner .banner-text p
   ========================================================== */
.fiche-weekend .fiche-banner .banner-text p {
    font-size: 1.1rem;
    font-weight: 300;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content
   ========================================================== */
.fiche-weekend .fiche-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    padding: 2rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content .fiche-infos h3
   ========================================================== */
.fiche-weekend .fiche-content .fiche-infos h3 {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
  padding: 6px 10px;
  font-size: 1.3rem;           
  font-weight: 600;
  color:  #064a7a;             
  background:  rgba(14, 165, 233, 0.08);  
  border: 1px solid rgba(14, 165, 233, 0.15);
  border-radius: 4px;
}/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content .fiche-infos p
   ========================================================== */
.fiche-weekend .fiche-content .fiche-infos p {
    margin: 0.3rem 0 0.5rem;
    color: #333;
    line-height: 1.3;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content .fiche-photo
   ========================================================== */
.fiche-weekend .fiche-content .fiche-photo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-content .fiche-photo .img-fiche
   ========================================================== */
.fiche-weekend .fiche-content .fiche-photo .img-fiche {
    max-width: 100%;
    border-radius: 12px;
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-description
   ========================================================== */
.fiche-weekend .fiche-description {
    padding: 1.5rem 2rem 2rem;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-description h3
   ========================================================== */
.fiche-weekend .fiche-description h3 {
 margin: 1.2rem 0 0.8rem;
  padding: 6px 10px;
  font-size: 1rem;
  font-weight: 600;
  color: #064a7a;
  background: rgba(14, 165, 233, 0.08); /* léger bleu translucide */
  border: 1px solid rgba(14, 165, 233, 0.15);
  border-radius: 6px;
}/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .fiche-weekend .fiche-description p
   ========================================================== */
.fiche-weekend .fiche-description p {
    color: #444;
    line-height: 1.6;
    white-space: pre-line;
  }        /* ==========================================================
           SCOPE : @media screen and (min-width: 801px)
           PAGE  : layout/header.php
           SECTION : Navigation principale
           EFFET : structure et style du menu principal
           SELECTEUR(S) : /* === from: @media screen and (min-width: 800px) and (max-width: 1000px) === */
.main_nav ul li
           ========================================================== */
/* === from: @media screen and (min-width: 800px) and (max-width: 1000px) === */
.main_nav ul li {
    font-size: 1.5em;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/header.php
   SECTION : Sous-navigation
   EFFET : liens secondaires / breadcrumb / sous-menu
   SELECTEUR(S) : .second_nav ul li
   ========================================================== */
.second_nav ul li {
    font-size: 1em;
  }        /* ==========================================================
           SCOPE : @media screen and (min-width: 801px)
           PAGE  : global
           SECTION : Composant / utilitaire
           EFFET : règles ciblées par classe
           SELECTEUR(S) : /* === from: @media (max-width: 1024px) === */


  /* === from: @media (max-width: 820px) === */
/* 8.1 Neutraliser le flex inline de .main_block (pile sur 1 colonne) */
  html body .main_block,
  .main_block[style*="display:flex"]
           ========================================================== */
/* === from: @media (max-width: 1024px) === */


  /* === from: @media (max-width: 820px) === */
/* 8.1 Neutraliser le flex inline de .main_block (pile sur 1 colonne) */
  html body .main_block,
  .main_block[style*="display:flex"] {
    display: block !important;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : global
         SECTION : Composant / utilitaire
         EFFET : règles ciblées par classe
         SELECTEUR(S) : /* 8.2 Rendre l'<aside> fluide en mobile */
.main_block > aside,
.main_block > aside[style]
         ========================================================== */
/* 8.2 Rendre l'<aside> fluide en mobile */
  .main_block > aside,
  .main_block > aside[style] {
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    flex: 1 1 auto !important;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : global
   SECTION : Composant / utilitaire
   EFFET : règles ciblées par classe
   SELECTEUR(S) : .main_block > *
   ========================================================== */
.main_block > * { min-width: 0 !important; }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : global
         SECTION : Boutons
         EFFET : style des boutons et interactions
         SELECTEUR(S) : /* 8.3 Confort boutons/formulaires */
.main_block .btn,
.main_block button[type="submit"],
.main_block input[type="submit"]
         ========================================================== */
/* 8.3 Confort boutons/formulaires */
  .main_block .btn,
  .main_block button[type="submit"],
  .main_block input[type="submit"] { width: 100%; }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : administration.php
   SECTION : Interface admin
   EFFET : panneaux, tableaux et boutons d'action
   SELECTEUR(S) : .admin-layout
   ========================================================== */
.admin-layout { display: block; }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : administration.php
         SECTION : Interface admin
         EFFET : panneaux, tableaux et boutons d'action
         SELECTEUR(S) : .admin-layout > aside,
.admin-layout > section
         ========================================================== */
.admin-layout > aside,
  .admin-layout > section {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .card-weekend .weekend-toggle img
   ========================================================== */
.card-weekend .weekend-toggle img {
    width: 100% !important;
    height: auto !important;
    max-height: 240px;
    object-fit: cover;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : administration.php
         SECTION : Interface admin
         EFFET : panneaux, tableaux et boutons d'action
         SELECTEUR(S) : /* Empêche Chrome mobile d'augmenter les polices de façon “automatique” */
.admin-page
         ========================================================== */
/* Empêche Chrome mobile d'augmenter les polices de façon “automatique” */
  .admin-page {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : administration.php
         SECTION : Interface admin
         EFFET : panneaux, tableaux et boutons d'action
         SELECTEUR(S) : /* Layout admin (deux blocs qui passent en colonne) */
.admin-layout
         ========================================================== */
/* Layout admin (deux blocs qui passent en colonne) */
  .admin-layout { display: block !important; }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : administration.php
         SECTION : Interface admin
         EFFET : panneaux, tableaux et boutons d'action
         SELECTEUR(S) : .admin-layout > aside,
.admin-layout > section
         ========================================================== */
.admin-layout > aside,
  .admin-layout > section {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    float: none !important;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : layout/header.php
         SECTION : Navigation principale
         EFFET : structure et style du menu principal
         SELECTEUR(S) : /* Sidebar : s'assurer que la liste est une liste (pas d'inline/float hérités) */
.admin-layout > aside nav ul
         ========================================================== */
/* Sidebar : s'assurer que la liste est une liste (pas d'inline/float hérités) */
  .admin-layout > aside nav ul {
    display: block !important;
    padding-left: 18px;
    margin: 0;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : layout/header.php
   SECTION : Navigation principale
   EFFET : structure et style du menu principal
   SELECTEUR(S) : .admin-layout > aside nav ul li
   ========================================================== */
.admin-layout > aside nav ul li {
    display: list-item !important;
    float: none !important;
    margin: 6px 0;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : layout/header.php
         SECTION : Navigation principale
         EFFET : structure et style du menu principal
         SELECTEUR(S) : /* Menu du HAUT (nav.php) : laisser WRAPPER proprement + taille contrôlée */
.admin-page header nav ul,
.admin-page #menu ul
         ========================================================== */
/* Menu du HAUT (nav.php) : laisser WRAPPER proprement + taille contrôlée */
  .admin-page header nav ul,
  .admin-page #menu ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : layout/header.php
         SECTION : Navigation principale
         EFFET : structure et style du menu principal
         SELECTEUR(S) : .admin-page header nav a,
.admin-page #menu a
         ========================================================== */
.admin-page header nav a,
  .admin-page #menu a {
    /* Taille qui s’adapte: mini 12px, maxi 16px, selon la largeur */
    font-size: clamp(12px, 3.2vw, 16px);
    line-height: 1.2;
    padding: 6px 8px;
    white-space: nowrap; /* garde chaque item sur une seule ligne */
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : weekend.php
         SECTION : Cartes week-ends
         EFFET : grille, cartes et CTA des week-ends
         SELECTEUR(S) : /* Carte week-end : image d’en-tête responsive sur mobile */
.admin-page .card-weekend .weekend-toggle img
         ========================================================== */
/* Carte week-end : image d’en-tête responsive sur mobile */
  .admin-page .card-weekend .weekend-toggle img {
    width: 100% !important;
    height: auto !important;
    max-height: 240px;
    object-fit: cover;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : administration.php
         SECTION : Interface admin
         EFFET : panneaux, tableaux et boutons d'action
         SELECTEUR(S) : /* Panneaux (détails / édition) : éviter le débordement horizontal */
.admin-page .fiche-description
         ========================================================== */
/* Panneaux (détails / édition) : éviter le débordement horizontal */
  .admin-page .fiche-description {
    padding: 10px;
    overflow-x: auto;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : administration.php
         SECTION : Interface admin
         EFFET : panneaux, tableaux et boutons d'action
         SELECTEUR(S) : /* Formulaire d’ajout : enlever le liseré “encastré” */
.admin-page #add_we
         ========================================================== */
/* Formulaire d’ajout : enlever le liseré “encastré” */
  .admin-page #add_we {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : weekend.php
         SECTION : Cartes week-ends
         EFFET : grille, cartes et CTA des week-ends
         SELECTEUR(S) : /* 1) Le bandeau ne porte plus d'image de fond (évite le double visuel) */
.card-weekend .weekend-toggle > div
         ========================================================== */
/* 1) Le bandeau ne porte plus d'image de fond (évite le double visuel) */
  .card-weekend .weekend-toggle > div {
    background: none !important;
    display: block;
    padding: 10px 12px !important;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : global
         SECTION : Éléments HTML
         EFFET : règles sur éléments (typographie, espacements)
         SELECTEUR(S) : /* 2) L'image devient "hero" au-dessus, responsive */
.card-weekend .weekend-toggle img
         ========================================================== */
/* 2) L'image devient "hero" au-dessus, responsive */
  .card-weekend .weekend-toggle img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: 240px;
    object-fit: cover;
    border-radius: 10px;
    margin: 0 0 8px 0;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : weekend.php
         SECTION : Cartes week-ends
         EFFET : grille, cartes et CTA des week-ends
         SELECTEUR(S) : /* 3) Le bloc texte (le 2e <div> dans le bandeau) s'affiche proprement */
.card-weekend .weekend-toggle > div > div
         ========================================================== */
/* 3) Le bloc texte (le 2e <div> dans le bandeau) s'affiche proprement */
  .card-weekend .weekend-toggle > div > div {
    display: block;
    margin: 0;
    padding: 0;
    color: #fff;           /* lisible sur fond sombre */
    line-height: 1.25;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .card-weekend .weekend-toggle > div > div strong
   ========================================================== */
.card-weekend .weekend-toggle > div > div strong {
    display: block;
    font-size: 1.05rem;
    margin-bottom: 2px;
  }/* ==========================================================
   SCOPE : @media screen and (min-width: 801px)
   PAGE  : weekend.php
   SECTION : Cartes week-ends
   EFFET : grille, cartes et CTA des week-ends
   SELECTEUR(S) : .card-weekend .weekend-toggle > div > div span
   ========================================================== */
.card-weekend .weekend-toggle > div > div span {
    display: block;
    opacity: .9;
    font-size: .95rem;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : global
         SECTION : Éléments HTML
         EFFET : règles sur éléments (typographie, espacements)
         SELECTEUR(S) : /* 4) Le bouton occupe la largeur, sans contrainte parasite */
.card-weekend .weekend-toggle
         ========================================================== */
/* 4) Le bouton occupe la largeur, sans contrainte parasite */
  .card-weekend .weekend-toggle {
    width: 100%;
    text-align: left;
  }      /* ==========================================================
         SCOPE : @media screen and (min-width: 801px)
         PAGE  : weekend.php
         SECTION : Cartes week-ends
         EFFET : apparence des cartes (bords, ombres, boutons)
         SELECTEUR(S) : /* 5) Le panneau sous la carte ne déborde pas en largeur */
.card-weekend #panel_,
.card-weekend .fiche-description
         ========================================================== */
/* 5) Le panneau sous la carte ne déborde pas en largeur */
  .card-weekend #panel_,
  .card-weekend .fiche-description {
    overflow-x: auto;
  }

}



/* ==========================================================
   PAGE  : weekend.php (et accueil)
   SECTION : Liste & cartes week-ends (mosaïque canonique)
   EFFET : grille responsive fluide + carte visuelle & hauteur stable
   ========================================================== */

/* Base (mobile-first) : 1 colonne */
.weekend-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin: 0 auto;
  align-items: stretch;
}

/* Carte : apparence + structure (hauteur cohérente) */
.weekend-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,.10);
  overflow: hidden;
  width: auto;
  min-width: 0;
}

/* Image d'entête : ratio et recadrage */
.weekend-card > img,
.weekend-card .card-img,
.weekend-card .media img {
  width: 100%;
  aspect-ratio: 16 / 9;     /* ajuste si besoin: 4/3, 3/2, etc. */
  object-fit: cover;
  display: block;
}

/* Corps : prend l'espace dispo ; footer collé bas */
.weekend-card .content,
.weekend-card .card-body,
.weekend-card .texte,
.weekend-card .inner {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

.weekend-card .footer,
.weekend-card .card-footer,
.weekend-card .actions {
  margin-top: auto;
  padding: 12px 16px;
}

/* Desktop : mosaïque auto-fit */
@media screen and (min-width: 801px) {
  .weekend-list {
    grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
    gap: 1.5rem;
    align-items: stretch;
  }
}

/* Liens enveloppants : neutres */
.weekend-card a.weekend-link,
.weekend-card a.weekend-link:visited,
.weekend-card a.weekend-link:hover,
.weekend-card a.weekend-link:active {
  color: inherit !important;
  text-decoration: none;
  text-shadow: none !important;
}

/* =======================================================
   Bouton d'inscription (nouvelle base propre)
   ======================================================= */
.btn-inscription {
  all: unset;                    /* efface TOUT style hérité (du lien, titre, etc.) */
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 12px;
  background: #e6f3ff;
  border: 1px solid #b7d9ea;
  color: #064a7a;
  font-weight: 600;
  font-size: 15px;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.1s ease;
  box-sizing: border-box;         /* indispensable après un all:unset */
}

.btn-inscription:hover {
  background: #d9edff;
  transform: translateY(-1px);
  text-decoration: none;
}

.btn-inscription:active {
  transform: translateY(0);
}

/* ====== Alignement vertical cartes week-ends ====== */
:root{
  --we-h-cover: 220px;   /* hauteur image */
  --we-h-title: 64px;    /* titre sur 1–2 lignes max */
  --we-h-desc: 120px;    /* zone fixe pour la description */
  --we-h-meta: 52px;     /* Lieu + Dates */
  --we-h-pill: 40px;     /* pastille d’état */
  --we-h-org: 48px;      /* avatar + nom organisateur */
  --we-h-actions: 56px;  /* bouton d’inscription */
}

/* Image de couverture uniforme */
.we-card .we-cover img{
  width:100%; height:var(--we-h-cover);
  object-fit:cover; display:block;
  border-top-left-radius:inherit; border-top-right-radius:inherit;
}

/* Titre */
.we-card .we-title{
  min-height:var(--we-h-title);
  display:flex; align-items:flex-end;
}

/* Description : zone fixe + ellipsis */
.we-card .we-desc{
  min-height:var(--we-h-desc);
  max-height:var(--we-h-desc);
  overflow:hidden;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:6; /* ≈ 6 lignes */
}

/* Lieu + dates */
.we-card .we-meta{
  min-height:var(--we-h-meta);
  display:flex; flex-direction:column; justify-content:center;
}

/* Pastille */
.we-card .we-pill{
  min-height:var(--we-h-pill);
  display:flex; align-items:center;
}

/* Organisateur */
.we-card .we-organizer{
  min-height:var(--we-h-org);
  display:flex; align-items:center; gap:10px;
}

/* Bouton */
.we-card .we-actions{
  min-height:var(--we-h-actions);
  display:flex; align-items:center;
}

/* Optionnel : harmonise les séparateurs */
.we-card hr{ margin:8px 0; }

/* =======================================================
   ALIGNEMENT TOTAL DES CARTES WEEK-END (layout grid)
   ======================================================= */
:root{
  --we-h-cover: 220px;   /* image */
  --we-h-title: 70px;    /* titre sur 1–2 lignes */
  --we-h-desc: 120px;    /* zone de description (blanc si courte) */
  --we-h-meta: 54px;     /* Lieu + Dates */
  --we-h-pill: 40px;     /* pastille état */
  --we-h-org: 48px;      /* organisateur */
  --we-h-actions: 56px;  /* bouton */
}

/* 1) La carte devient une grille à 7 lignes fixes */
.we-card{
  display: grid;
  grid-template-rows:
    var(--we-h-cover)
    var(--we-h-title)
    var(--we-h-desc)
    var(--we-h-meta)
    var(--we-h-pill)
    var(--we-h-org)
    var(--we-h-actions);
}

/* 2) Reset des marges qui faisaient varier les hauteurs */
.we-card h1, .we-card h2, .we-card h3,
.we-card p,  .we-card hr {
  margin: 0;
}

/* 3) Chaque “rangée” de la grille s’aligne verticalement au centre */
.we-cover, .we-title, .we-desc, .we-meta, .we-pill, .we-organizer, .we-actions{
  display: flex;
  align-items: center;
}

/* 4) Couverture fixe et propre dans sa ligne */
.we-cover{ height: 100%; }
.we-cover img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 5) Titre : pas d’écart parasite */
.we-title{ padding: 0 0 2px 0; }   /* léger ajustement visuel */

/* 6) Description : “fenêtre” fixe + ellipsis multi-lignes */
.we-desc{
  overflow: hidden;
}
.we-desc > p{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;   /* ~6 lignes pour ~120px, ajuste si besoin */
  overflow: hidden;
}

/* 7) Lieu + Dates : pas de sauts verticaux */
.we-meta{ flex-direction: column; justify-content: center; }
.we-meta p{ margin: 0; }

/* 8) Pastille : centrée et non extensible (si texte long) */
.we-pill{ overflow: hidden; }
.we-pill .pill{ white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }

/* 9) Orga : avatar + nom bien calés */
.we-organizer{ gap: 10px; }

/* 10) Bouton : aligné à gauche, hauteur figée */
.we-actions{ justify-content: flex-start; }

/* 11) On neutralise les <hr> pour éviter un “row” fantôme */
.we-card hr{ display: none; }

/* --- Fix: bouton coupé en bas des cartes --- */
:root{
  /* on donne un peu plus d'air à la ligne "actions" */
  --we-h-actions: 60px; /* 56px -> 70px */
}

/* ajoute un petit padding bas dans la rangée du bouton */
.we-actions{ padding-bottom: 8px; }

/* au cas où la carte a overflow/arrondis serrés, on ajoute du souffle bas */
.weekend-card.we-card{ padding-bottom: 12px; }  /* n'affecte que ces cartes */

/* ================== Finitions cartes week-end ================== */

/* 1) Lieu + Dates alignés à gauche */
.we-meta{
  align-items: flex-start;   /* plus centré verticalement */
  justify-content: center;
  text-align: left;          /* force l'alignement du texte */
}
.we-meta p{ margin: 0; width: 100%; }

/* 2) Espace sous la pastille (avant le bloc responsable) */
.we-pill{ margin-bottom: 8px; }

/* 3) Bloc Responsable : bordure, plus compact */
.we-organizer{
  gap: 8px;
  padding: 6px 10px;
 border-top: 1px solid #e6e6e6;
  border-bottom: 1px solid #e6e6e6;
  background: #fff;
  align-items: center;
  margin: 10px 0;            /* petit souffle autour */
  margin-bottom : 1px;
}

/* avatar + nom plus serrés */
.we-organizer img{ 
  width: 48px; height: 48px; object-fit: cover; border-radius: 50%;
}
.we-organizer a{
  font-size: 14px;
  line-height: 1.2;
  font-weight: 600;
  text-decoration: none;
}

/* 4) Bouton rapproché du responsable */
.we-actions{ 
  padding-top: 0;
  margin-top: 0;
  align-items: flex-start;
  justify-content: center
}

/* Au besoin, si le bouton touche encore la bordure basse, laisse ceci : */
.weekend-card.we-card{ padding-bottom: 45px; }
