/* ==========================================================================
   FLAT DESIGN OVERRIDE - Infranat 2026
   ==========================================================================
   Neutralise globalement les ombres, gradients de profondeur et effets de
   glassmorphism. Compense par des bordures fines pour conserver la
   lisibilite. Charge en tout dernier apres main.min.css / custom.min.css.
   ========================================================================== */

/* 1. Neutralisation absolue des ombres, blur et effets de verre */
*,
*::before,
*::after {
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* 2. Bordures fines + FOND BLANC EXPLICITE a la place des ombres.
   Sans fond blanc, une card sur un body #F1F5F9 devient invisible
   (bug remonte le 2026-07-11 : tableaux admin illisibles). */
.card,
.card-custom,
.card-body,
.modal-content,
.dropdown-menu,
.toast,
.popover,
.form-card,
.lm-card,
.impl-agency-card,
.method-step-card,
.kpi-card,
.kpi-card-modern,
.svc-toc,
.svc-table-wrap,
.svc-pricing-card,
.svc-formule,
.svc-regl-block,
.svc-pitfall,
.svc-case-card,
.svc-why-block,
.svc-author,
.svc-variable-item,
.svc-principe-item {
    border: 1px solid #E2E8F0 !important;
    background: #ffffff !important;
    background-image: none !important;
}

/* Les cards de contenu peuvent contenir une .card-body : pas de double
   bordure. Le body herite du blanc de la card. */
.card > .card-body,
.card-custom > .card-body {
    border: none !important;
}

/* Table hover / striped : lisibilite renforcee sans ombre */
.table-hover > tbody > tr:hover > * {
    background-color: #F1F5F9 !important;
}
.table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: #F8FAFC !important;
}
.table > tbody > tr > td,
.table > thead > tr > th {
    background: transparent;
}

.card-custom,
.form-card,
.lm-card {
    border-radius: 8px !important;
}

/* 3. Boutons : plats, sans ombre, sans gradient */
.btn,
.template-btn,
.hero-badge,
.btn-microsoft,
.svc-pricing-cta-btn,
.lm-btn,
.ville-form-btn,
.btn-hero,
.btn-submit {
    background-image: none !important;
    text-shadow: none !important;
}

.btn:hover,
.btn:focus,
.template-btn:hover {
    transform: none !important;
    background-image: none !important;
}

/* 4. Focus states : outline plat au lieu de ring en shadow */
:focus-visible {
    outline: 2px solid #1C40F2 !important;
    outline-offset: 2px;
}
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
input:focus,
textarea:focus,
select:focus {
    outline: 2px solid #1C40F2 !important;
    outline-offset: 1px;
    border-color: #1C40F2 !important;
}

/* 5. Surfaces sombres : couleur unie a la place des gradients de profondeur.
   Bleu nuit sobre #0F172A - conserve le contraste sans effet de degrade. */
.hero-modern,
.hero-wrapper,
.breadcrumb-area,
.breadcrumb-area-agency,
.ville-intro-card,
.focus-card,
.methodo-section,
.svc-2026-block,
.bg-primary-gradient {
    background-image: none !important;
    background: #0F172A !important;
}

/* Fond legerement bleute pour les zones intro claires */
.bg-primary-subtle,
.bg-light-blue,
.svc-usecase,
.svc-pricing-cta {
    background-image: none !important;
    background: #F1F5F9 !important;
}

/* 6. Ligne "tech-separator" retiree (etait un gradient sur la barre laterale du h2) */
.tech-separator-title::before {
    background: #1C40F2 !important;
    background-image: none !important;
}

/* 7. Neutralisation des effets d'apparition anime (translate, scale) au hover */
.svc-case-card:hover,
.kpi-card-modern:hover,
.method-step-card:hover,
.impl-agency-card:hover,
.card:hover,
.card-custom:hover {
    transform: none !important;
}

/* 8. Table admin : lignes sobres */
.table > :not(caption) > * > * {
    box-shadow: none !important;
}
.table thead th {
    background: #F8FAFC !important;
    background-image: none !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

/* 9. Modales admin : bordure fine */
.modal-content {
    border: 1px solid #E2E8F0 !important;
    border-radius: 8px !important;
}
.modal-header,
.modal-footer {
    border-color: #E2E8F0 !important;
}

/* 10. Alerts : plates */
.alert {
    border-radius: 6px !important;
    border-width: 1px !important;
}
