<style>
        /* Styles Généraux du Corps */
        body {
            font-family: 'Roboto', sans-serif;
            background-color: #1a2a3a; /* Bleu-gris foncé pour une ambiance tech/aéro */
            color: #e0e0e0;
            margin: 0;
            padding: 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
            min-height: 100vh;
        }

        h1 {
            color: #00bcd4; /* Cyan pour les éléments clés */
            margin-bottom: 30px;
            font-family: 'Orbitron', sans-serif; /* Police futuriste */
            text-shadow: 0 0 10px rgba(0, 188, 212, 0.6);
        }

        /* Styles du Formulaire */
        .form-container {
            background-color: #2c3e50; /* Bleu foncé légèrement plus clair */
            padding: 30px;
            border-radius: 10px;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
            width: 100%;
            max-width: 600px;
            margin-bottom: 40px;
            border: 1px solid #00bcd4;
        }

        .form-group {
            margin-bottom: 20px;
        }

        label {
            display: block;
            margin-bottom: 8px;
            font-weight: bold;
            color: #f0f0f0;
        }

        input[type="text"],
        input[type="email"],
        input[type="tel"],
        input[type="file"] {
            width: calc(100% - 22px); /* Ajustement pour le padding */
            padding: 10px;
            border: 1px solid #4a6a8a;
            border-radius: 5px;
            background-color: #3b506b;
            color: #e0e0e0;
            font-size: 1em;
            transition: border-color 0.3s ease;
        }

        input[type="text"]:focus,
        input[type="email"]:focus,
        input[type="tel"]:focus,
        input[type="file"]:focus {
            border-color: #00bcd4; /* Bordure cyan au focus */
            outline: none;
        }

        input[type="file"] {
            padding-top: 12px;
        }

        button {
            background-color: #00bcd4;
            color: white;
            padding: 12px 25px;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 1.1em;
            font-weight: bold;
            transition: background-color 0.3s ease, transform 0.2s ease;
            margin-right: 10px; /* Espace entre les boutons */
        }

        button:hover {
            background-color: #0097a7;
            transform: translateY(-2px); /* Effet de léger soulèvement */
        }

        .loading-spinner {
            border: 4px solid rgba(255, 255, 255, 0.3);
            border-top: 4px solid #00bcd4;
            border-radius: 50%;
            width: 20px;
            height: 20px;
            animation: spin 1s linear infinite;
            margin-left: 10px;
            display: inline-block;
            vertical-align: middle;
            display: none; /* Masqué par défaut */
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        /* Styles de la Carte de Visite */
        .card-preview-container {
            width: 100%;
            display: flex;
            flex-direction: column; /* Permet aux boutons d'être en dessous ou à côté */
            align-items: center;
            margin-top: 30px;
        }

        .business-card {
            width: 350px; /* Largeur standard d'une carte de visite pour l'affichage */
            height: 200px; /* Hauteur standard d'une carte de visite pour l'affichage */
            background: linear-gradient(135deg, #2c3e50 0%, #1a2a3a 100%); /* Dégradé pour un effet de profondeur */
            border: 2px solid #00bcd4;
            border-radius: 10px;
            box-shadow: 0 0 25px rgba(0, 188, 212, 0.4); /* Ombre lumineuse */
            display: flex;
            flex-direction: column;
            position: relative;
            overflow: hidden;
            font-family: 'Roboto', sans-serif;
            color: #e0e0e0;
            transform-style: preserve-3d;
            perspective: 1000px;
            margin-bottom: 20px; /* Espace sous la carte */
        }

        /* Éléments de Design Aéronautique (formes géométriques, lumières) */
        .business-card::before {
            content: '';
            position: absolute;
            top: -50px;
            left: -50px;
            width: 150%;
            height: 150%;
            background: radial-gradient(circle at top left, rgba(0, 188, 212, 0.1) 0%, transparent 70%);
            transform: rotate(20deg);
            z-index: 0;
        }

        .business-card::after {
            content: '';
            position: absolute;
            bottom: -30px;
            right: -30px;
            width: 120%;
            height: 120%;
            background: radial-gradient(circle at bottom right, rgba(255, 255, 255, 0.05) 0%, transparent 70%);
            transform: rotate(-10deg);
            z-index: 0;
        }

        .card-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 15px 20px 10px 20px;
            z-index: 1;
            border-bottom: 1px dashed rgba(0, 188, 212, 0.3);
        }

        .header-left {
            display: flex;
            align-items: center;
        }

        .logo {
            max-width: 80px;
            max-height: 40px;
            object-fit: contain;
            filter: drop-shadow(0 0 5px rgba(0, 188, 212, 0.5));
            margin-right: 15px;
        }

        .association-info {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }

        .association-name {
            font-family: 'Orbitron', sans-serif;
            font-size: 1.1em;
            color: #00bcd4;
            text-transform: uppercase;
            letter-spacing: 1px;
            text-shadow: 0 0 5px rgba(0, 188, 212, 0.3);
            line-height: 1.2;
        }

        .header-website-link {
            font-size: 0.75em;
            color: #888;
            text-decoration: none;
            transition: color 0.3s ease;
            margin-top: 2px;
            word-break: break-all;
        }

        .header-website-link:hover {
            color: #00bcd4;
            text-decoration: underline;
        }

        .card-body {
            display: flex;
            flex-grow: 1;
            padding: 10px 20px;
            z-index: 1;
            position: relative;
        }

        .profile-photo-container {
            flex-shrink: 0;
            width: 80px;
            height: 80px;
            border-radius: 50%;
            overflow: hidden;
            margin-right: 15px;
            border: 2px solid #00bcd4;
            box-shadow: 0 0 8px rgba(0, 188, 212, 0.6);
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: #3b506b;
        }

        .profile-photo {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .contact-info {
            flex-grow: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .owner-name {
            font-size: 1.4em;
            font-weight: bold;
            color: #fff;
            margin-bottom: 2px;
            font-family: 'Orbitron', sans-serif;
        }

        .owner-function {
            font-size: 0.9em;
            color: #aaa;
            margin-bottom: 8px;
            font-style: italic;
        }

        .detail-item {
            display: flex;
            align-items: center;
            font-size: 0.85em;
            margin-bottom: 4px;
        }

        .detail-item img {
            width: 16px;
            height: 16px;
            margin-right: 5px;
            filter: invert(80%) sepia(100%) saturate(500%) hue-rotate(150deg) brightness(100%) contrast(100%);
        }

        .detail-item a {
            color: #e0e0e0;
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .detail-item a:hover {
            color: #00bcd4;
            text-decoration: underline;
        }

        .card-footer {
            display: none;
        }

        /* Ajustements Responsifs */
        @media (max-width: 768px) {
            .form-container, .business-card {
                width: 95%;
            }
        }
    </style>