/**
 * Styles front AI Devis — variables --aidevis-* injectées par le plugin.
 */
.aidevis-widget {
    max-width: 600px;
    margin: 1em 0;
    padding: 1.5em;
    background: var(--aidevis-bg-cards, #F9FAFB);
    border: 1px solid var(--aidevis-border, #E5E7EB);
    border-radius: 12px;
    font-size: calc(14px * var(--aidevis-font-scale-text, 1));
    color: var(--aidevis-text, #374151);
}

.aidevis-widget .aidevis-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 1.5em;
    border-bottom: 2px solid var(--aidevis-tab-border, #E5E7EB);
}

.aidevis-widget .aidevis-tab-btn {
    padding: 0.75em 1.25em;
    border: none;
    background: var(--aidevis-tab-inactive, #E5E7EB);
    color: var(--aidevis-tab-text-inactive, #6B7280);
    cursor: pointer;
    font-size: calc(14px * var(--aidevis-font-scale-buttons, 1));
    border-radius: 8px 8px 0 0;
}

.aidevis-widget .aidevis-tab-btn.active {
    background: var(--aidevis-tab-active, #4F46E5);
    color: var(--aidevis-tab-text-active, #fff);
}

.aidevis-widget .aidevis-panel label {
    display: block;
    margin-bottom: 0.35em;
    font-size: calc(14px * var(--aidevis-font-scale-labels, 1));
    color: var(--aidevis-text, #374151);
}

.aidevis-widget .aidevis-panel input[type="text"],
.aidevis-widget .aidevis-panel input[type="email"],
.aidevis-widget .aidevis-panel input[type="tel"],
.aidevis-widget .aidevis-panel input[type="url"],
.aidevis-widget .aidevis-panel input[type="number"],
.aidevis-widget .aidevis-panel textarea {
    width: 100%;
    max-width: 100%;
    padding: 0.5em;
    font-size: calc(14px * var(--aidevis-font-scale-fields, 1));
    border: 1px solid var(--aidevis-border, #E5E7EB);
    border-radius: var(--aidevis-btn-radius, 6px);
    background: var(--aidevis-bg-main, #fff);
}

/* Bouton Envoyer : styles par défaut uniquement (pas de variables back-office).
   Quand le formulaire est affiché via le widget Elementor, couleur / fond / taille / police
   sont appliqués en inline par le shortcode ; ce bloc ne s’applique qu’en l’absence d’inline. */
/* Bouton Envoyer / Payer : en mode widget Elementor, une seule vérité = styles inline (pas de conflit CSS). */
.aidevis-widget .aidevis-submit {
    padding: 0.6em 1.2em;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    width: auto;
}

.aidevis-widget:not(.aidevis-widget-from-elementor) .aidevis-submit {
    background: #4F46E5;
    color: #fff;
    border: 1px solid #4F46E5;
}

/* En mode Elementor : bouton Envoyer — seul le border en CSS, le reste en inline. */
.aidevis-widget.aidevis-widget-from-elementor .aidevis-panel-demande .aidevis-submit-wrap .aidevis-submit {
    border: 1px solid transparent;
}

/* En mode Elementor : bouton Payer — aucun style depuis le CSS, seule vérité = inline (Bouton Payer). */
.aidevis-widget.aidevis-widget-from-elementor .aidevis-panel-payer .aidevis-submit-wrap .aidevis-submit {
    padding: 0;
    border: none;
    border-radius: 0;
    font-size: inherit;
    width: auto;
    min-height: auto;
    background: transparent;
    color: inherit;
}

.aidevis-widget .aidevis-submit-wrap {
    text-align: left;
}

.aidevis-widget:not(.aidevis-widget-from-elementor) .aidevis-submit:hover {
    background: #4338CA;
    color: #fff;
    border-color: #4338CA;
}

/* Animation au survol du bouton Envoyer — même effet que ai-widget-services (pulse visible, 0.6s, répétée au survol) */
@keyframes aidevis-submit-hover-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.06); }
}

.aidevis-submit-wrap--hover-animation .aidevis-submit {
    transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
    transform-origin: center;
}

.aidevis-submit-wrap--hover-animation .aidevis-submit:hover {
    animation: aidevis-submit-hover-pulse 0.6s ease-in-out infinite;
}

.aidevis-widget .aidevis-form-message.success {
    color: var(--aidevis-msg-success, #059669);
    background: var(--aidevis-msg-bg-success, #D1FAE5);
    padding: 0.75em;
    border-radius: 6px;
}

.aidevis-widget .aidevis-form-message.error {
    color: var(--aidevis-msg-error, #DC2626);
    background: var(--aidevis-msg-bg-error, #FEE2E2);
    padding: 0.75em;
    border-radius: 6px;
}

.aidevis-widget .aidevis-content-block {
    margin: 1em 0;
    padding: 0.75em;
    background: rgba(0,0,0,0.03);
    border-radius: 6px;
}

.aidevis-widget .aidevis-content-block-title {
    font-size: calc(14px * var(--aidevis-font-scale-subtitles, 1));
    color: var(--aidevis-title, #111827);
    margin: 0 0 0.5em 0;
}

.aidevis-widget .aidevis-content-block-body {
    font-size: inherit;
}

.aidevis-widget .required {
    color: var(--aidevis-msg-error, #DC2626);
}

.aidevis-widget p {
    margin-bottom: 1em;
}
