/**
 * Vauban Onboarding - Styles principaux
 * @version 4.2.0
 *
 * Note: La plupart des styles sont inline dans les templates PHP.
 * Ce fichier sert de point d'entrée CSS pour les styles globaux.
 */


/* Reset minimal pour le plugin */
.vauban-onboarding-form *,
.vauban-onboarding-form *::before,
.vauban-onboarding-form *::after {
    box-sizing: border-box;
}

/* Font stack cohérent */
.vauban-onboarding-form {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}


/* === CSS extrait de vauban-onboarding.php (refactor 2026-05-05) === */

/* bloc 1 */
.vauban-btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(79, 70, 229, 0.4) !important;
        }
        .vauban-btn-minimal:hover {
            background: var(--vt-primary-strong, #4338CA) !important;
            transform: translateY(-2px);
        }

/* bloc 3 */
/* Embed mode: force vertical layout and compact sidebar */
                .vauban-embed-mode {
                    margin: 0 !important;
                }

                /* Force le layout parent en colonne verticale au lieu de flex horizontal */
                .vauban-embed-mode>div[style*="display: flex"] {
                    display: flex !important;
                    flex-direction: column !important;
                    gap: 20px !important;
                }

                /* Sidebar pleine largeur et non-sticky en mode embed */
                .vauban-embed-mode .vauban-sidebar-nav {
                    width: 100% !important;
                    max-width: 100% !important;
                    position: static !important;
                    max-height: none !important;
                }

                /* Masquer le badge étape actuelle et compteur - garder uniquement les boutons */
                .vauban-embed-mode .vauban-sidebar-nav>div>div>div:first-child {
                    display: none !important;
                }

                /* Le bouton "Voir toutes les étapes" masqué */
                .vauban-embed-mode #vauban-steps-toggle {
                    display: none !important;
                }

                /* Liste des étapes toujours visible en mode embed - 2 lignes */
                .vauban-embed-mode #vauban-steps-list {
                    display: flex !important;
                    opacity: 1 !important;
                    max-height: none !important;
                    flex-direction: row !important;
                    flex-wrap: wrap !important;
                    gap: 10px !important;
                    padding: 0 !important;
                    overflow: visible !important;
                }

                /* Étapes en grille - 3 colonnes minimum */
                .vauban-embed-mode #vauban-steps-list>div,
                .vauban-embed-mode #vauban-steps-list>a {
                    flex: 0 0 calc(33.333% - 7px) !important;
                    min-width: 0 !important;
                    max-width: calc(33.333% - 7px) !important;
                }

                /* Masquer les boutons précédent/suivant en bas */
                .vauban-embed-mode .vauban-navigation-buttons,
                .vauban-embed-mode button[name="vauban_next_step"],
                .vauban-embed-mode button[name="vauban_prev_step"] {
                    display: none !important;
                }

                /* Réduire padding de la card navigation */
                .vauban-embed-mode .vauban-sidebar-nav>div {
                    padding: 15px !important;
                }

                /* Scrollbar personnalisée pour la liste des étapes */
                .vauban-embed-mode #vauban-steps-list::-webkit-scrollbar {
                    height: 8px;
                }

                .vauban-embed-mode #vauban-steps-list::-webkit-scrollbar-track {
                    background: var(--vt-inset, #F3F4F6);
                    border-radius: 4px;
                }

                .vauban-embed-mode #vauban-steps-list::-webkit-scrollbar-thumb {
                    background: var(--vt-muted, #9CA3AF);
                    border-radius: 4px;
                }

                .vauban-embed-mode #vauban-steps-list::-webkit-scrollbar-thumb:hover {
                    background: var(--vt-text-soft, #6B7280);
                }

/* bloc 4 */
/* Readonly: block form interactions but ALLOW navigation */
                .vauban-readonly-mode input,
                .vauban-readonly-mode select,
                .vauban-readonly-mode textarea {
                    pointer-events: none;
                }

                /* Block submission buttons only */
                .vauban-readonly-mode button[name="vauban_submit_final"],
                .vauban-readonly-mode button[name="vauban_dev_autofill"],
                .vauban-readonly-mode button[name="vauban_reset_form"] {
                    display: none !important;
                }

                .vauban-readonly-mode input:disabled,
                .vauban-readonly-mode select:disabled,
                .vauban-readonly-mode textarea:disabled {
                    opacity: 1 !important;
                    -webkit-text-fill-color: currentColor;
                }

/* bloc 5 */
.vauban-save-btn-container{display:none!important}

/* bloc 6 */
details[open] summary svg { transform: rotate(180deg); }

/* bloc 7 */
@keyframes vaubanFadeIn {
                                    from { opacity: 0; transform: translateY(20px); }
                                    to   { opacity: 1; transform: translateY(0); }
                                }

                                /* ── Email capture modal – full-viewport overlay ── */
                                #vauban-email-modal {
                                    display: none;
                                    position: fixed !important;
                                    top: 0 !important;
                                    left: 0 !important;
                                    right: 0 !important;
                                    bottom: 0 !important;
                                    width: 100vw !important;
                                    height: 100vh !important;
                                    z-index: 2147483647 !important;
                                    background: rgba(15, 23, 42, 0.65) !important;
                                    align-items: center;
                                    justify-content: center;
                                    padding: 16px;
                                    box-sizing: border-box;
                                    overflow: hidden;
                                }
                                #vauban-email-modal.vauban-modal-open {
                                    display: flex !important;
                                }

                                #vauban-sim-modal select:focus,
                                #vauban-sim-modal input:focus {
                                    outline: none;
                                    border-color: var(--vt-primary, #6366F1);
                                    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
                                }

                                /* Responsive adjustments for simulator modal */
                                @media (max-width: 768px) {
                                    .vauban-sim-modal-content {
                                        padding: 0 !important;
                                        /* Remove internal padding if needed */
                                    }

                                    .vauban-sim-modal-body {
                                        padding: 15px !important;
                                    }

                                    .vauban-sim-modal-grid {
                                        grid-template-columns: 1fr !important;
                                        gap: 20px !important;
                                    }

                                    /* Reduced Result Card */
                                    .vauban-sim-result-card {
                                        padding: 20px !important;
                                        margin-bottom: 15px !important;
                                    }

                                    .vauban-sim-result-title {
                                        font-size: 10px !important;
                                        margin-bottom: 5px !important;
                                        letter-spacing: 0.5px !important;
                                    }

                                    .vauban-sim-result-amount {
                                        font-size: 32px !important;
                                        margin-bottom: 2px !important;
                                    }
                                }

                                /* Responsive email modal */
                                @media (max-width: 480px) {
                                    #vauban-email-modal > div {
                                        border-radius: 14px !important;
                                    }
                                    #vauban-email-modal > div > div:nth-child(2) {
                                        padding: 20px 18px 16px !important;
                                    }
                                    #vauban-email-modal > div > div:last-child {
                                        padding: 18px 18px 22px !important;
                                    }
                                    #vauban-email-modal > div > div:last-child > div:first-child {
                                        grid-template-columns: 1fr !important;
                                    }
                                }
