/* Extrait du bloc <style> inline de footer.php (thème WordPress cauxtt).
   Voir CLAUDE.md "Conservation du design existant". La partie CSS de la
   modale de connexion admin ("cauxtt-admin-modal*", vérification de mot de
   passe côté client) a été volontairement retirée : CLAUDE.md interdit toute
   vérification de droits côté JavaScript, ce mécanisme n'est pas repris
   (voir AdminAuthController/AdminGuard pour l'authentification serveur). */

      .site-footer {
        margin-top: 40px;
        background: radial-gradient(circle at top, rgba(79,216,255,0.18), rgba(3,8,15,0.98));
        border-top: 1px solid rgba(79,216,255,0.25);
        box-shadow: 0 -8px 30px rgba(0,0,0,0.8);
      }
      .site-footer-inner {
        max-width: 1100px;
        margin: 0 auto;
        padding: 18px 16px 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
        flex-wrap: wrap;
      }

      /* Colonne gauche : liens officiels (logos FFTT + CDTT34 + Ligue Occitanie) */
      .footer-official {
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        gap:4px;
        min-width: 0;
      }

      .footer-official-label {
        font-size:0.78rem;
        color:var(--text-soft);
        text-transform:uppercase;
        letter-spacing:0.08em;
        opacity:0.9;
        margin-bottom:5px;
      }

      .footer-official-links {
        display:flex;
        align-items:center;
        gap:10px;
        flex-wrap:wrap;
      }

      .footer-official-links a.fftt-logo-link,
      .footer-official-links a.cdtt-logo-link,
      .footer-official-links a.ligue-logo-link {
        display:inline-flex;
        align-items:center;
        justify-content:center;
        padding:4px 8px;
        border-radius:12px;
        background: radial-gradient(circle at 20% 0%, rgba(79,216,255,0.18), rgba(3,8,15,0.98));
        border:1px solid rgba(79,216,255,0.5);
        box-shadow:0 0 14px rgba(0,0,0,0.85);
        text-decoration:none;
      }

      .footer-official-links a.fftt-logo-link img,
      .footer-official-links a.cdtt-logo-link img,
      .footer-official-links a.ligue-logo-link img {
        display:block;
        height:34px;
        width:auto;
      }

      .footer-official-links a.fftt-logo-link:hover,
      .footer-official-links a.cdtt-logo-link:hover,
      .footer-official-links a.ligue-logo-link:hover {
        border-color:rgba(79,216,255,0.9);
        box-shadow:
          0 0 16px rgba(79,216,255,0.7),
          0 0 32px rgba(0,0,0,1);
      }

      /* Colonne centre : copyright */
      .footer-center {
        text-align:center;
        font-size:0.85rem;
        color:var(--text-soft);
        line-height:1.4;
        flex:1;
      }
      .footer-center strong {
        color:var(--accent-light);
      }

      /* Tagline chaleureuse sous le copyright */
      .footer-tagline {
        margin-top: 4px;
        font-size:0.8rem;
        color:var(--accent-light);
      }

      /* Bloc liens Mentions + Sitemap */
      .footer-legal-links {
        margin-top:4px;
        font-size:0.78rem;
        display:flex;
        flex-wrap:wrap;
        align-items:center;
        justify-content:center;
        gap:6px;
      }

      .footer-legal-link {
        display:inline-block;
        color:var(--text-soft);
        text-decoration:none;
      }
      .footer-legal-link:hover {
        color:var(--accent-light);
        text-decoration:underline;
      }

      .footer-legal-separator {
        color:var(--text-soft);
        opacity:0.7;
      }

      /* Lien archive : style néon orange type HelloAsso */
      .footer-archive-link {
        display:inline-block;
        margin-top:6px;
        padding:4px 10px;
        border-radius:999px;
        font-size:0.8rem;
        text-transform:uppercase;
        letter-spacing:0.08em;
        color:#ffb45a;
        border:1px solid rgba(255,180,90,0.7);
        background: radial-gradient(circle at top, rgba(255,180,90,0.18), rgba(5,10,15,0.98));
        box-shadow:
          0 0 3px rgba(255,190,120,0.6),
          0 0 8px rgba(255,160,80,0.4);
        font-weight:600;
        position:relative;
        text-decoration:none;
        text-shadow:0 0 4px rgba(0,0,0,0.85);
      }
      .footer-archive-link::after {
        content:"↗";
        margin-left:0.35em;
        font-size:0.8em;
        position:relative;
        top:-1px;
        opacity:0.9;
      }
      .footer-archive-link:hover {
        color:#ffc879;
        border-color:rgba(255,205,130,0.95);
        background: radial-gradient(circle at top, rgba(255,205,130,0.28), rgba(5,10,15,1));
        box-shadow:
          0 0 4px rgba(255,210,140,0.8),
          0 0 10px rgba(255,170,90,0.5);
        text-decoration:none;
      }

      /* Colonne droite : réseaux sociaux */
      .footer-right {
        display:flex;
        flex-direction:column;
        align-items:flex-end;
        gap:8px;
      }
      .footer-social-label {
        font-size:0.85rem;
        color:var(--accent-light);
        text-transform:uppercase;
        letter-spacing:0.08em;
        margin-bottom:2px;
      }

      .footer-socials {
        display:flex;
        align-items:center;
        gap:12px;
      }

      /* Boutons néon turquoise autour des icônes SVG */
      .social-btn {
        width:52px;
        height:52px;
        border-radius:18px;
        position:relative;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        text-decoration:none;
        background: radial-gradient(circle at 30% 10%, rgba(79,216,255,0.32), rgba(3,8,15,0.97));
        box-shadow:
          0 0 12px rgba(79,216,255,0.9),
          0 0 30px rgba(0,0,0,0.9);
        border:1px solid rgba(79,216,255,0.7);
        overflow:hidden;
        transition: transform .12s ease, box-shadow .12s ease, filter .12s ease, border-color .12s ease;
      }
      .social-btn::before {
        content:"";
        position:absolute;
        inset:0;
        background: radial-gradient(circle at 30% 20%, rgba(255,255,255,0.16), transparent 55%);
        mix-blend-mode:screen;
        pointer-events:none;
      }
      .social-btn img {
        position:relative;
        z-index:1;
        width:100%;
        height:100%;
        display:block;
        object-fit:contain;
      }
      .social-btn:hover {
        transform: translateY(-1px) scale(1.05);
        box-shadow:
          0 0 18px rgba(79,216,255,1),
          0 0 40px rgba(0,0,0,1);
        filter:brightness(1.05);
        border-color:rgba(144,240,255,0.95);
      }

      /* Accès administration (centre) */
      .footer-admin-access {
        margin-top: 8px;
        display: flex;
        justify-content: center;
      }

      .footer-admin-btn {
        display:inline-flex;
        align-items:center;
        gap:6px;
        padding:5px 14px;
        border-radius:999px;
        border:1px solid rgba(79,216,255,0.7);
        background: radial-gradient(circle at top, rgba(79,216,255,0.22), rgba(3,8,15,0.98));
        color:var(--accent-light);
        font-size:0.78rem;
        letter-spacing:0.08em;
        text-transform:uppercase;
        cursor:pointer;
        box-shadow:
          0 0 10px rgba(79,216,255,0.6),
          0 0 24px rgba(0,0,0,0.85);
        text-decoration:none;
        transition:
          background 0.15s ease-out,
          box-shadow 0.15s ease-out,
          transform 0.1s ease-out,
          border-color 0.15s ease-out;
      }
      .footer-admin-btn-icon {
        font-size:0.9rem;
        line-height:1;
      }
      .footer-admin-btn:hover {
        border-color:rgba(144,240,255,0.95);
        box-shadow:
          0 0 16px rgba(79,216,255,0.9),
          0 0 30px rgba(0,0,0,0.95);
        transform: translateY(-1px);
      }

      @media (max-width:768px){
        .site-footer-inner{
          flex-direction:column;
          align-items:flex-start;
        }
        .footer-center{
          text-align:left;
          width:100%;
        }
        .footer-right{
          align-items:flex-start;
        }
        .footer-admin-access {
          justify-content:flex-start;
        }
      }
