
/* === DERATIX THEME PRO HARMONISÉ ===
   Palette inspirée des cartes de visite :
   bleu institutionnel, rouge accent, fonds clairs, blocs doux et lisibles.
*/
:root{
  --dx-blue:#334a78;
  --dx-blue-dark:#26385f;
  --dx-blue-soft:#eaf0f8;
  --dx-red:#d93632;
  --dx-red-dark:#b92c29;
  --dx-bg:#f7f8fa;
  --dx-bg-2:#ffffff;
  --dx-card:#eef2f7;
  --dx-card-light:#ffffff;
  --dx-text:#1f2d45;
  --dx-muted:#667085;
  --dx-border:rgba(51,74,120,.16);
  --dx-shadow:0 18px 45px rgba(31,45,69,.10);
  --dx-radius:22px;
}

/* Base */
html,
body{
  background:var(--dx-bg) !important;
  color:var(--dx-text) !important;
}

body{
  background:
    radial-gradient(circle at top left, rgba(51,74,120,.08), transparent 34rem),
    linear-gradient(180deg, #ffffff 0%, var(--dx-bg) 42%, #ffffff 100%) !important;
}

body::before,
body::after{
  opacity:.04 !important;
}

/* Header */
.site-header,
header.site-header,
.header,
.topbar,
.navbar{
  background:rgba(255,255,255,.94) !important;
  color:var(--dx-blue) !important;
  border-bottom:1px solid var(--dx-border) !important;
  box-shadow:0 8px 28px rgba(31,45,69,.08) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.site-header a,
.site-header button,
.nav a,
.nav button,
.nav-dropdown-button{
  color:var(--dx-blue) !important;
}

.site-header a:hover,
.nav a:hover,
.nav button:hover,
.nav-dropdown-button:hover{
  color:var(--dx-red) !important;
}

/* Menus */
.nav-dropdown-options,
.dropdown-menu,
.burger-menu,
.language-menu .nav-dropdown-options{
  background:#ffffff !important;
  border:1px solid var(--dx-border) !important;
  box-shadow:0 22px 60px rgba(31,45,69,.16) !important;
  border-radius:18px !important;
}

.nav-dropdown-options a,
.dropdown-menu a{
  color:var(--dx-blue) !important;
}

.nav-dropdown-options a:hover,
.dropdown-menu a:hover{
  background:var(--dx-blue-soft) !important;
  color:var(--dx-red) !important;
}

/* Layout */
main,
.page,
.site-main,
.wrapper{
  background:transparent !important;
}

section,
.section,
.content-section{
  background:transparent !important;
}

/* Hero */
.hero,
.pest-hero,
.identification-hero{
  background:
    linear-gradient(135deg, rgba(51,74,120,.08), rgba(255,255,255,.82)) !important;
  color:var(--dx-text) !important;
}

.hero-content,
.hero-text,
.breadcrumbs{
  color:var(--dx-text) !important;
}

.hero h1,
.pest-hero h1,
h1{
  color:var(--dx-blue-dark) !important;
  letter-spacing:-.02em;
}

h2,h3,h4,h5,h6{
  color:var(--dx-blue) !important;
}

/* Cards / blocks */
.hero-card,
.card,
.service-card,
.pest-card,
.diagnostic-card,
.info-card,
.panel,
.box,
.legal-card,
.tool-card,
.feature-card,
.article-card,
.form-card,
.result-card,
.admin-card,
.devis-card,
.intervention-card,
.pricing-card,
.contact-card,
aside{
  background:linear-gradient(180deg, #ffffff 0%, var(--dx-card) 100%) !important;
  color:var(--dx-text) !important;
  border:1px solid var(--dx-border) !important;
  box-shadow:var(--dx-shadow) !important;
  border-radius:var(--dx-radius) !important;
}

.hero-card,
.highlight-card{
  background:linear-gradient(145deg, var(--dx-blue) 0%, var(--dx-blue-dark) 100%) !important;
  color:#ffffff !important;
}

.hero-card h2,
.hero-card h3,
.hero-card p,
.hero-card li,
.hero-card span,
.highlight-card h2,
.highlight-card p,
.highlight-card span{
  color:#ffffff !important;
}

/* Text */
p,li,label,td,th,span,small{
  color:inherit;
}

.muted,
.subtle,
.help,
.description{
  color:var(--dx-muted) !important;
}

/* Buttons */
.button,
.btn,
button,
input[type="submit"],
input[type="button"],
.nav-cta{
  border-radius:999px !important;
  font-weight:700 !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease !important;
}

.button:hover,
.btn:hover,
button:hover,
input[type="submit"]:hover,
.nav-cta:hover{
  transform:translateY(-1px);
}

.button.primary,
.btn.primary,
button.primary,
input[type="submit"],
.nav-cta,
.cta,
.actions .primary{
  background:var(--dx-red) !important;
  color:#ffffff !important;
  border:1px solid var(--dx-red) !important;
  box-shadow:0 12px 28px rgba(217,54,50,.22) !important;
}

.button.primary:hover,
.btn.primary:hover,
button.primary:hover,
input[type="submit"]:hover,
.nav-cta:hover,
.cta:hover{
  background:var(--dx-red-dark) !important;
  color:#ffffff !important;
}

.button.secondary,
.btn.secondary,
button.secondary,
.actions .secondary{
  background:#ffffff !important;
  color:var(--dx-blue) !important;
  border:1px solid rgba(51,74,120,.28) !important;
  box-shadow:0 8px 22px rgba(31,45,69,.08) !important;
}

.button.secondary:hover,
.btn.secondary:hover,
button.secondary:hover{
  background:var(--dx-blue-soft) !important;
  color:var(--dx-blue-dark) !important;
}

/* Pills / labels */
.eyebrow,
.badge,
.pill,
.tag{
  background:rgba(217,54,50,.08) !important;
  color:var(--dx-red) !important;
  border:1px solid rgba(217,54,50,.22) !important;
}

/* Forms */
input,
select,
textarea{
  background:#ffffff !important;
  color:var(--dx-text) !important;
  border:1px solid rgba(51,74,120,.24) !important;
  border-radius:14px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75) !important;
}

input:focus,
select:focus,
textarea:focus{
  outline:none !important;
  border-color:var(--dx-blue) !important;
  box-shadow:0 0 0 4px rgba(51,74,120,.12) !important;
}

input::placeholder,
textarea::placeholder{
  color:#8a94a6 !important;
}

/* Tables */
table{
  background:#ffffff !important;
  color:var(--dx-text) !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  border:1px solid var(--dx-border) !important;
  border-radius:18px !important;
  overflow:hidden !important;
}

th{
  background:var(--dx-blue) !important;
  color:#ffffff !important;
  font-weight:700 !important;
}

td{
  background:#ffffff !important;
  color:var(--dx-text) !important;
  border-color:rgba(51,74,120,.12) !important;
}

tr:nth-child(even) td{
  background:#f8fafc !important;
}

/* Legal pages */
.legal-page,
.legal-content{
  background:#ffffff !important;
}

.legal-card article,
.legal-card section{
  background:transparent !important;
}

/* Admin / private tools */
.admin-shell,
.admin-main,
.tools-page{
  background:var(--dx-bg) !important;
}

.admin-header,
.tool-header{
  background:#ffffff !important;
  border-bottom:1px solid var(--dx-border) !important;
}

.admin-card,
.tool-card,
.devis-preview,
.intervention-preview{
  background:#ffffff !important;
  border:1px solid var(--dx-border) !important;
  box-shadow:var(--dx-shadow) !important;
}

.admin-card .preview,
.devis-preview,
.intervention-preview{
  color:var(--dx-text) !important;
}

/* Footer */
footer,
.site-footer{
  background:linear-gradient(135deg, var(--dx-blue) 0%, var(--dx-blue-dark) 100%) !important;
  color:#ffffff !important;
  border-top:4px solid var(--dx-red) !important;
}

footer a,
.site-footer a,
footer p,
.site-footer p,
footer span,
.site-footer span{
  color:#ffffff !important;
}

footer a:hover,
.site-footer a:hover{
  color:#ffd6d4 !important;
}

/* Links */
a{
  color:var(--dx-blue) !important;
}

a:hover{
  color:var(--dx-red) !important;
}

/* But keep footer links white */
footer a,
.site-footer a{ color:#ffffff !important; }

/* Separators */
hr{
  border:0 !important;
  border-top:1px solid var(--dx-border) !important;
}

/* Print remains professional */
@media print{
  html,body,*{
    background:#ffffff !important;
    color:#000000 !important;
    box-shadow:none !important;
    text-shadow:none !important;
  }
  .no-print, nav, header, footer, button, .actions, .nav, .site-header, .site-footer{
    display:none !important;
  }
  table, th, td{
    border:1px solid #d6d6d6 !important;
  }
  th{
    background:#eeeeee !important;
    color:#000000 !important;
  }
  @page{
    size:A4;
    margin:10mm;
  }
}



/* === Corrections header + hero demandées === */
.site-header,
header.site-header,
.header,
.topbar,
.navbar{
  background:#334a78 !important;
  color:#ffffff !important;
  border-bottom:0 !important;
  box-shadow:0 10px 30px rgba(31,45,69,.16) !important;
}
.site-header a,
.site-header button,
.nav a,
.nav button,
.nav-dropdown-button{
  color:#ffffff !important;
}
.site-header a:hover,
.nav a:hover,
.nav button:hover,
.nav-dropdown-button:hover{
  color:#ffd6d4 !important;
}
.nav-cta,
.site-header .nav-cta,
header .nav-cta,
.nav a.nav-cta,
.nav-right .nav-cta{
  background:#d93632 !important;
  color:#ffffff !important;
  border-color:#d93632 !important;
}
.nav-cta:hover,
.site-header .nav-cta:hover,
header .nav-cta:hover,
.nav a.nav-cta:hover{
  background:#b92c29 !important;
  color:#ffffff !important;
}
.eyebrow,
.hero .eyebrow,
.pest-hero .eyebrow,
.hero-content .eyebrow,
.badge,
.pill{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  color:#d93632 !important;
}
.hero,
.pest-hero,
.identification-hero,
.hero-content,
.hero .hero-content,
.pest-hero .hero-content,
section.hero,
section.pest-hero{
  background:#ffffff !important;
  background-image:none !important;
  box-shadow:none !important;
  border:0 !important;
}
.hero-content{
  color:#1f2d45 !important;
}
.hero-content h1,
.hero h1,
.pest-hero h1{
  color:#26385f !important;
}
.hero-content p,
.hero-text{
  color:#334155 !important;
}
.hero-content.reveal,
.hero-copy,
.intro-block,
.intro-card,
.home-hero-text,
.hero-main{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}


/* Correction Deratix : texte avis sur fond bleu */
.review-banner,
.review-banner *,
.avis-banner,
.avis-banner *,
.testimonial-banner,
.testimonial-banner *,
.review-section .eyebrow,
.review-section h2,
.review-section .section-heading,
.review-section .section-heading *,
[class*="review"] .eyebrow,
[class*="avis"] .eyebrow {
  color: #ffffff !important;
}

