/* Thème sombre — même palette que ds_create_company_simple_ci (#5d97da, #ffa55c, #3a3e44) */

/* Fond sombre sur toute la page */
body:has(.ds-form-fr-page),
.o_web_client:has(.ds-form-fr-page),
main:has(.ds-form-fr-page) {
    background: #3a3e44 !important;
}

.ds-form-fr-page {
    --ds-color-primary: #5d97da;
    --ds-color-accent: #ffa55c;
    --ds-color-accent-hover: #e8944a;
    --ds-color-primary-hover: #7aade0;
    --ds-bg-dark: #3a3e44;
    --ds-bg-card: #2d3136;
    --ds-bg-card-body: #25282c;
    --ds-border: #5a6068;
    --ds-text: #e8eaed;
    --ds-text-muted: #b0b5bb;
    width: 100%;
    min-height: 100vh;
    background: var(--ds-bg-dark);
    color: var(--ds-text);
    padding-bottom: 2rem;
}

/* Progress bar (bandeau du haut) */
.ds-form-fr-page .multi-step-progress {
    background: var(--ds-color-primary) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.ds-form-fr-page .progress-bar-container,
.ds-form-fr-page .progress-bar-bg {
    background: rgba(255, 255, 255, 0.2) !important;
}

.ds-form-fr-page .progress-bar-fill {
    background: var(--ds-color-accent) !important;
    background: linear-gradient(90deg, var(--ds-color-accent), #ffb366) !important;
}

.ds-form-fr-page .step-circle {
    background: rgba(255, 255, 255, 0.2) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    color: var(--ds-text) !important;
}

.ds-form-fr-page .step.active .step-circle,
.ds-form-fr-page .step.completed .step-circle {
    background: var(--ds-color-accent) !important;
    border-color: var(--ds-color-accent) !important;
    color: #fff !important;
}

.ds-form-fr-page .step-label {
    color: var(--ds-text-muted) !important;
}

.ds-form-fr-page .step.active .step-label,
.ds-form-fr-page .step.completed .step-label {
    color: #fff !important;
}

.ds-form-fr-page .step.completed .step-label {
    color: #9ae6b0 !important;
}

/* Cartes */
.ds-form-fr-page .card {
    background: var(--ds-bg-card) !important;
    border: 1px solid var(--ds-border) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
}

.ds-form-fr-page .card:hover {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.5) !important;
}

.ds-form-fr-page .card-header.bg-primary {
    background: linear-gradient(135deg, var(--ds-color-primary), var(--ds-color-primary-hover)) !important;
    border: none !important;
    color: #fff !important;
}

.ds-form-fr-page .card-header h1 {
    color: #fff !important;
}

.ds-form-fr-page .card-body,
.ds-form-fr-page .card-body.p-5 {
    background: var(--ds-bg-card-body) !important;
    color: var(--ds-text) !important;
    border-radius: 0 0 15px 15px !important;
    box-shadow: none !important;
}

/* Labels et textes */
.ds-form-fr-page .form-label,
.ds-form-fr-page .form-label.fw-bold,
.ds-form-fr-page label.fw-bold {
    color: var(--ds-text-muted) !important;
}

.ds-form-fr-page .text-muted {
    color: var(--ds-text-muted) !important;
}

.ds-form-fr-page .welcome-text {
    color: var(--ds-text-muted) !important;
}

.ds-form-fr-page .welcome-title {
    color: var(--ds-text) !important;
}

.ds-form-fr-page .welcome-subtitle {
    color: var(--ds-text-muted) !important;
}

.ds-form-fr-page .welcome-highlight {
    color: var(--ds-color-accent) !important;
}

.ds-form-fr-page .welcome-list li {
    color: var(--ds-text) !important;
}

.ds-form-fr-page .lead {
    color: var(--ds-text) !important;
}

/* Champs de formulaire */
.ds-form-fr-page .form-control,
.ds-form-fr-page .input-group .form-control,
.ds-form-fr-page input[type="text"],
.ds-form-fr-page input[type="email"],
.ds-form-fr-page input[type="password"],
.ds-form-fr-page select.form-control {
    background: #fff !important;
    color: #212529 !important;
    border-color: var(--ds-border) !important;
}

.ds-form-fr-page .form-control:focus {
    border-color: var(--ds-color-primary) !important;
    box-shadow: 0 0 0 2px rgba(93, 151, 218, 0.35) !important;
}

.ds-form-fr-page .input-group-text {
    background: var(--ds-bg-card) !important;
    border-color: var(--ds-border) !important;
    color: var(--ds-text-muted) !important;
}

/* Checkbox / radio */
.ds-form-fr-page .form-check-input {
    background-color: var(--ds-bg-card) !important;
    border-color: var(--ds-border) !important;
}

.ds-form-fr-page .form-check-input:checked {
    background-color: var(--ds-color-primary) !important;
    border-color: var(--ds-color-primary) !important;
}

.ds-form-fr-page .form-check-label {
    color: var(--ds-text) !important;
}

/* Boutons */
.ds-form-fr-page .btn-primary {
    background: var(--ds-color-accent) !important;
    background: linear-gradient(135deg, var(--ds-color-accent), #ffb366) !important;
    border: none !important;
    color: #fff !important;
}

.ds-form-fr-page .btn-primary:hover {
    background: var(--ds-color-accent-hover) !important;
    color: #fff !important;
}

.ds-form-fr-page .btn-outline-secondary {
    border-color: var(--ds-border) !important;
    color: var(--ds-text-muted) !important;
}

.ds-form-fr-page .btn-outline-secondary:hover {
    border-color: var(--ds-color-primary) !important;
    color: var(--ds-color-primary) !important;
    background: transparent !important;
}

.ds-form-fr-page .btn-outline-primary {
    border-color: var(--ds-color-primary) !important;
    color: var(--ds-color-primary) !important;
}

.ds-form-fr-page .btn-outline-primary:hover {
    background: rgba(93, 151, 218, 0.15) !important;
    color: var(--ds-color-primary-hover) !important;
}

/* Alertes */
.ds-form-fr-page .alert-danger {
    background: rgba(229, 115, 115, 0.15) !important;
    border-color: #e57373 !important;
    color: #ffabab !important;
}

.ds-form-fr-page .alert-info {
    background: rgba(93, 151, 218, 0.15) !important;
    border-color: var(--ds-color-primary) !important;
    color: var(--ds-text) !important;
}

.ds-form-fr-page .alert-info h5 {
    color: var(--ds-text) !important;
}

/* Overlay de chargement */
.ds-form-fr-page .loading-overlay .loading-content {
    background: var(--ds-bg-card) !important;
    border: 1px solid var(--ds-border) !important;
}

.ds-form-fr-page .loading-overlay .loading-text {
    color: var(--ds-text) !important;
}

.ds-form-fr-page .loading-overlay .loading-subtext {
    color: var(--ds-text-muted) !important;
}

/* Liens */
.ds-form-fr-page a {
    color: var(--ds-color-primary) !important;
}

.ds-form-fr-page a:hover {
    color: var(--ds-color-primary-hover) !important;
}

/* Page thank you - bloc détail */
.ds-form-fr-page .rounded[style*="background-color"] {
    background-color: rgba(93, 151, 218, 0.12) !important;
    border: 1px solid var(--ds-border) !important;
    color: var(--ds-text) !important;
}

.ds-form-fr-page .form-text {
    color: var(--ds-text-muted) !important;
}

/* Suggestion BAN */
.ds-form-fr-page #ban_address_suggestions .list-group-item,
.ds-form-fr-page #ban_address_suggestions .ban-suggestion-item {
    background: var(--ds-bg-card) !important;
    color: var(--ds-text) !important;
    border-color: var(--ds-border) !important;
}

.ds-form-fr-page #ban_address_suggestions .ban-suggestion-item:hover {
    background: rgba(93, 151, 218, 0.2) !important;
}

/* Petit bloc progression fixe (page 3) */
.ds-form-fr-page .progress .progress-bar.bg-success {
    background: var(--ds-color-primary) !important;
}
