:root {
  --primary: #2c4473;
  --contrast: #cd3318;
  --dark: #0b101b;
  --light: #f2f3f4;
  --muted: #d8dce3;
  --border: rgba(242, 243, 244, 0.18);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  background: var(--dark);
  color: var(--light);
  line-height: 1.6;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: var(--light);
  border-bottom: 1px solid rgba(11, 16, 27, 0.12);
}

.nav,
.hero,
.section,
.contact-section {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
}

.nav {
  height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo {
  display: flex;
  align-items: center;
  line-height: 0;
}

.logo img {
  display: block;
  height: 64px;
  width: auto;
}

.nav-cta,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 22px;
  border-radius: 999px;
  font-weight: 800;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.nav-cta,
.button.primary {
  background: var(--contrast);
  color: var(--light);
}

.button.secondary,
.facebook-icon-link {
  border: 1px solid var(--border);
  background: rgba(242, 243, 244, 0.06);
}

.nav-cta:hover,
.button:hover,
.facebook-icon-link:hover {
  transform: translateY(-2px);
}

.hero {
  min-height: calc(100vh - 78px);
  padding: 72px 0;
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 40px;
  align-items: center;
}

.hero-content,
.section-heading {
  max-width: 760px;
}

.eyebrow {
  margin-bottom: 14px;
  color: var(--contrast);
  text-transform: uppercase;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
}

h1,
h2,
h3 {
  line-height: 1.1;
}

h1 {
  margin-bottom: 24px;
  font-size: clamp(2.45rem, 6vw, 5.25rem);
  letter-spacing: -0.07em;
}

h2 {
  margin-bottom: 18px;
  font-size: clamp(2rem, 4vw, 3.35rem);
  letter-spacing: -0.055em;
}

h3 {
  margin-bottom: 12px;
  font-size: 1.35rem;
}

p {
  color: var(--muted);
}

.hero-text {
  max-width: 680px;
  font-size: 1.16rem;
}

.actions,
.contact-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.hero-card,
.card,
.zone-box,
.step,
.contact-panel {
  border: 1px solid var(--border);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(44, 68, 115, 0.42), rgba(242, 243, 244, 0.06));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.22);
}

.hero-card,
.card,
.step {
  padding: 28px;
}

.contact-line {
  display: block;
  margin-top: 14px;
  color: var(--light);
  font-size: 1.1rem;
  font-weight: 800;
}

.contact-line:hover {
  color: var(--contrast);
}

.section {
  padding: 88px 0;
}

.section-heading {
  margin-bottom: 38px;
}

.cards,
.steps {
  display: grid;
  gap: 18px;
}

.cards {
  grid-template-columns: repeat(3, 1fr);
}

.steps {
  grid-template-columns: repeat(4, 1fr);
}

.split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 32px;
  align-items: center;
}

.zone-box {
  padding: 34px;
}

.zone-box ul {
  margin-top: 18px;
  list-style: none;
}

.zone-box li {
  position: relative;
  padding: 12px 0 12px 28px;
  border-bottom: 1px solid var(--border);
}

.zone-box li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 21px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--contrast);
}

.step span {
  display: inline-flex;
  margin-bottom: 20px;
  color: var(--contrast);
  font-size: 0.85rem;
  font-weight: 900;
}

.contact-section {
  padding: 88px 0 110px;
}

.contact-panel {
  padding: clamp(32px, 6vw, 64px);
  background:
    radial-gradient(circle at top right, rgba(205, 51, 24, 0.32), transparent 34%),
    linear-gradient(145deg, rgba(44, 68, 115, 0.64), rgba(242, 243, 244, 0.06));
}

.facebook-icon-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-left: auto;
  border-radius: 50%;
}

.facebook-icon-link img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.footer {
  padding: 28px 16px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  text-align: center;
  font-size: 0.92rem;
}

@media (max-width: 900px) {
  .hero,
  .split {
    grid-template-columns: 1fr;
  }

  .cards,
  .steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero {
    min-height: auto;
  }
}

@media (max-width: 680px) {
  .nav {
    height: auto;
    padding: 18px 0;
  }

  .hero {
    padding: 56px 0;
  }

  .cards,
  .steps {
    grid-template-columns: 1fr;
  }

  .button {
    width: 100%;
  }
}


/* Animations légères au défilement */
.reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}






.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.language-menu {
  position: relative;
}

.language-options {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  background: var(--light);
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 10px;
  padding: 6px;
  display: none;
}

.language-menu.open .language-options {
  display: block;
}

.language-options a {
  display: block;
  padding: 6px 10px;
  font-weight: 700;
  color: var(--primary);
}

.language-button {
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,0.1);
  background: rgba(44,68,115,0.1);
  font-weight: 800;
  cursor: pointer;
}


.social-links {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--border);
}

.social-links .facebook-icon-link {
  margin-left: 0;
}

.contact-form {
  margin-top: 34px;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid var(--border);
  border-radius: 24px;
  background: rgba(11, 16, 27, 0.22);
}

.form-choice {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}

.form-choice label {
  cursor: pointer;
  margin-bottom: 0;
}

.form-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.form-choice span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 16px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(242, 243, 244, 0.06);
  color: var(--light);
  font-weight: 800;
  text-align: center;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.form-choice input:checked + span {
  border-color: rgba(205, 51, 24, 0.85);
  background: var(--contrast);
}

.form-choice span:hover {
  transform: translateY(-1px);
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.contact-form label {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
  color: var(--light);
  font-weight: 800;
}

.contact-form label > span {
  font-size: 0.94rem;
}

.contact-form small,
.form-note {
  color: var(--muted);
  font-weight: 400;
}

.contact-form input,
.contact-form textarea {
  width: 100%;
  min-height: 52px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 16px;
  outline: none;
  background: rgba(242, 243, 244, 0.96);
  color: var(--dark);
  font: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-form textarea {
  min-height: 132px;
  resize: vertical;
}

.contact-form input:focus,
.contact-form textarea:focus {
  border-color: rgba(205, 51, 24, 0.95);
  box-shadow: 0 0 0 4px rgba(205, 51, 24, 0.16);
}

.company-fields[hidden] {
  display: none;
}

.form-submit {
  margin-top: 8px;
}

.form-note {
  margin-top: 12px;
  font-size: 0.92rem;
}

@media (max-width: 680px) {
  .contact-form {
    padding: 20px;
  }

  .form-choice,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .contact-form label {
    margin-bottom: 14px;
  }
}

.contact-after-form {
  margin-top: 24px;
  justify-content: center;
}

.socials {
  margin-top: 20px;
  display: flex;
  justify-content: center;
}

.socials img {
  width: 28px;
  height: 28px;
}


.photo-email-note {
  margin: 4px 0 18px;
}

.form-submit:disabled {
  cursor: wait;
  opacity: 0.75;
  transform: none;
}


/* Compact service-area communes list */
.communes-box {
  padding: 24px;
}

.communes-box h3 {
  margin-bottom: 14px;
}

.communes-list {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
  list-style: none;
}

.communes-list li {
  flex: 0 1 auto;
  padding: 5px 10px;
  border: 1px solid rgba(242, 243, 244, 0.14);
  border-radius: 999px;
  background: rgba(242, 243, 244, 0.055);
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.25;
  white-space: nowrap;
}

.communes-list li::before {
  display: none;
}

@media (max-width: 900px) {
  .communes-list {
    gap: 6px;
  }

  .communes-list li {
    font-size: 0.84rem;
    padding: 5px 9px;
  }
}

@media (max-width: 480px) {
  .communes-box {
    padding: 18px;
  }

  .communes-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
  }

  .communes-list li {
    width: 100%;
    padding: 6px 8px;
    font-size: 0.78rem;
    text-align: center;
    white-space: normal;
  }
}


/* Paragraph spacing for long text blocks */
.section-heading p {
  margin-bottom: 18px;
  line-height: 1.7;
}

.section-heading p:last-child {
  margin-bottom: 0;
}


.communes-note {
  margin-top: 12px;
  font-size: 0.9rem;
  color: var(--muted);
}



/* Philosophy card */
.philosophy-card {
  max-width: 960px;
  padding: clamp(28px, 5vw, 52px);
  border: 1px solid var(--border);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(205, 51, 24, 0.18), transparent 32%),
    linear-gradient(145deg, rgba(44, 68, 115, 0.48), rgba(242, 243, 244, 0.06));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.22);
}

.philosophy-card h2 {
  max-width: 760px;
}

.philosophy-text {
  max-width: 820px;
  margin-top: 26px;
}

.philosophy-text p {
  margin-bottom: 18px;
  line-height: 1.75;
}

.philosophy-text p:last-child {
  margin-bottom: 0;
}

@media (max-width: 680px) {
  .philosophy-card {
    padding: 22px;
  }

  .philosophy-text {
    margin-top: 18px;
  }

  .philosophy-text p {
    margin-bottom: 16px;
    line-height: 1.65;
  }
}


/* Strong logo halo fix */
.logo {
  background: #f2f3f4;
  padding: 0;
  border-radius: 0;
  overflow: hidden;
  line-height: 0;
}

.logo img {
  display: block;
  height: 64px;
  width: auto;
  transform: scale(1.035);
  transform-origin: center;
  clip-path: inset(2px);
  border: 0;
  outline: 0;
  box-shadow: none;
  background: #f2f3f4;
}

@media (max-width: 480px) {
  .logo img {
    height: 48px;
  }
}


/* Print color fix */
@media print {
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  body {
    background: var(--dark) !important;
    color: var(--light) !important;
  }

  .hero-card,
  .card,
  .zone-box,
  .step,
  .contact-panel,
  .philosophy-card {
    background: linear-gradient(145deg, rgba(44, 68, 115, 0.42), rgba(242, 243, 244, 0.06)) !important;
    box-shadow: none !important;
  }
}


/* FINAL OVERRIDE — Philosophy section/cards, same visual language as the site */
.philosophy-section {
  padding-top: 88px;
  padding-bottom: 88px;
}

.philosophy-card {
  max-width: 960px;
  padding: clamp(28px, 5vw, 52px);
  border: 1px solid var(--border);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(205, 51, 24, 0.18), transparent 32%),
    linear-gradient(145deg, rgba(44, 68, 115, 0.48), rgba(242, 243, 244, 0.06));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.22);
}

.philosophy-card h2 {
  max-width: 760px;
}

.philosophy-text {
  display: grid;
  gap: 16px;
  max-width: 820px;
  margin-top: 26px;
}

.philosophy-part {
  padding: 18px;
  border: 1px solid rgba(242, 243, 244, 0.14) !important;
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(44, 68, 115, 0.34), rgba(242, 243, 244, 0.055)) !important;
  box-shadow: none;
}

.philosophy-part:hover {
  transform: none;
  box-shadow: none;
}

.philosophy-part h3 {
  margin-bottom: 10px;
  color: var(--light);
  font-size: 1.08rem;
}

.philosophy-part p {
  margin-bottom: 10px;
  color: var(--muted);
  line-height: 1.65;
}

.philosophy-part p:last-child {
  margin-bottom: 0;
}

.philosophy-part strong {
  color: var(--light);
}

@media (max-width: 680px) {
  .philosophy-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .philosophy-card {
    padding: 22px;
  }

  .philosophy-text {
    margin-top: 18px;
  }

  .philosophy-part {
    padding: 16px;
    border-radius: 18px;
  }
}

/* No hyphenated word breaks */
body, p, h1, h2, h3, h4, span, a {
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
}


/* Checklist SEO section */
.checklist-cards {
  align-items: stretch;
}

.checklist-section ol {
  margin-top: 14px;
  padding-left: 20px;
  color: var(--muted);
}

.checklist-section li {
  margin-bottom: 10px;
  line-height: 1.55;
}

.checklist-section li:last-child {
  margin-bottom: 0;
}

.checklist-section .card p {
  margin-bottom: 12px;
}

.checklist-section a {
  color: var(--light);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(205, 51, 24, 0.9);
  text-underline-offset: 4px;
}

.checklist-section a:hover {
  color: var(--contrast);
}


/* Natural SEO content: checklist and FAQ */
.checklist-cards,
.faq-list {
  align-items: stretch;
}

.faq-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.checklist-section ol {
  margin-top: 14px;
  padding-left: 20px;
  color: var(--muted);
}

.checklist-section li {
  margin-bottom: 10px;
  line-height: 1.55;
}

.checklist-section li:last-child {
  margin-bottom: 0;
}

.checklist-section .card p,
.faq-section .card p {
  margin-bottom: 12px;
}

.card a,
.checklist-section a {
  color: var(--light);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(205, 51, 24, 0.9);
  text-underline-offset: 4px;
}

.card a:hover,
.checklist-section a:hover {
  color: var(--contrast);
}

@media (max-width: 900px) {
  .faq-list {
    grid-template-columns: 1fr;
  }
}


/* SEO pest dropdown navigation */
.nav-dropdown {
  position: relative;
}

.nav-dropdown-button {
  min-height: 48px;
  padding: 10px 16px;
  border: 1px solid rgba(11, 16, 27, 0.12);
  border-radius: 999px;
  background: rgba(44, 68, 115, 0.1);
  color: var(--primary);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.nav-dropdown-button::after {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-left: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-3px) rotate(45deg);
}

.nav-dropdown-options {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 30;
  min-width: 260px;
  padding: 8px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 16px;
  background: var(--light);
  box-shadow: 0 24px 60px rgba(11, 16, 27, 0.18);
  display: none;
}

.nav-dropdown:hover .nav-dropdown-options,
.nav-dropdown.open .nav-dropdown-options,
.nav-dropdown:focus-within .nav-dropdown-options {
  display: grid;
  gap: 2px;
}

.nav-dropdown-options a {
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--primary);
  font-weight: 800;
}

.nav-dropdown-options a:hover {
  background: rgba(44, 68, 115, 0.1);
  color: var(--contrast);
}

.pest-hero {
  min-height: auto;
  padding-top: 82px;
  padding-bottom: 72px;
}

.breadcrumbs {
  margin-bottom: 18px;
  color: var(--muted);
  font-size: 0.95rem;
}

.breadcrumbs a {
  color: var(--light);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(205, 51, 24, 0.9);
  text-underline-offset: 4px;
}

.content-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.seo-text p,
.seo-text li {
  margin-bottom: 12px;
  color: var(--muted);
}

.seo-text ul,
.seo-text ol {
  margin: 14px 0 0 20px;
  color: var(--muted);
}

.related-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.related-links a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(242, 243, 244, 0.06);
  color: var(--light);
  font-weight: 800;
}

.related-links a:hover {
  color: var(--contrast);
}

@media (max-width: 900px) {
  .nav-right {
    gap: 8px;
  }
  .content-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .nav {
    align-items: flex-start;
    gap: 12px;
  }
  .nav-right {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .nav-dropdown-options {
    right: auto;
    left: 0;
  }
  .nav-cta,
  .nav-dropdown-button,
  .language-button {
    min-height: 42px;
    padding: 9px 12px;
    font-size: 0.9rem;
  }
}


/* Identification page additions */
.identification-section .section-heading {
  max-width: 820px;
}

.identification-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 24px;
  align-items: start;
}

.identification-panel {
  border: 1px solid var(--border);
  border-radius: 28px;
  background: linear-gradient(145deg, rgba(44, 68, 115, 0.42), rgba(242, 243, 244, 0.06));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.22);
  padding: 28px;
}

.identification-side {
  position: sticky;
  top: 104px;
}

.identification-progress {
  height: 8px;
  margin-bottom: 28px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(242, 243, 244, 0.12);
}

.identification-progress span {
  display: block;
  height: 100%;
  width: 33.333%;
  background: var(--contrast);
  transition: width 0.25s ease;
}

.identification-step {
  display: none;
}

.identification-step.is-active {
  display: block;
}

.identification-step > span {
  display: inline-flex;
  margin-bottom: 16px;
  color: var(--contrast);
  font-size: 0.85rem;
  font-weight: 900;
}

.choice-grid {
  display: grid;
  gap: 12px;
  margin-top: 20px;
}

.choice-card {
  width: 100%;
  min-height: 54px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(242, 243, 244, 0.06);
  color: var(--light);
  font: inherit;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
  transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.choice-card:hover,
.choice-card.is-selected {
  transform: translateY(-2px);
  border-color: rgba(205, 51, 24, 0.9);
  background: rgba(205, 51, 24, 0.16);
}

.identification-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.identification-result {
  display: none;
  margin-top: 28px;
  padding: 24px;
  border: 1px solid rgba(205, 51, 24, 0.45);
  border-radius: 24px;
  background: rgba(205, 51, 24, 0.12);
}

.identification-result.is-visible {
  display: block;
}

.identification-list {
  margin: 18px 0 18px 20px;
  color: var(--muted);
}

.identification-list li {
  margin-bottom: 10px;
}

.nav-home {
  min-height: 48px;
  padding: 10px 16px;
  border: 1px solid rgba(11, 16, 27, 0.12);
  border-radius: 999px;
  background: rgba(44, 68, 115, 0.1);
  color: var(--primary);
  font-weight: 900;
}

.nav-home:hover {
  color: var(--contrast);
}

@media (max-width: 900px) {
  .identification-grid {
    grid-template-columns: 1fr;
  }
  .identification-side {
    position: static;
  }
}

.pest-id-card h4{
  margin:18px 0 6px;
  color:var(--primary, #1f4d3a);
}
.pest-fact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 20px;
  margin:16px 0;
}
.pest-fact-grid p{
  margin:0;
}
.important-note{
  border-left:5px solid var(--accent, #b8894b);
}
.identification-list{
  margin-top:14px;
}
@media(max-width:768px){
  .pest-fact-grid{grid-template-columns:1fr;}
}


/* Correctif questionnaire identification */
.identification-step{display:none !important;}
.identification-step.is-active{display:block !important;}
.identification-result{display:none !important;}
.identification-result.is-visible{display:block !important;}
.choice-card{position:relative; z-index:2;}


/* === Identification Dératix reconstruite === */
.deratix-identification .deratix-id-wrap{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:24px;
  align-items:start;
}
.deratix-identification .deratix-id-card,
.deratix-identification .deratix-id-side{
  border:1px solid var(--border);
  border-radius:28px;
  background:linear-gradient(145deg, rgba(44,68,115,.42), rgba(242,243,244,.06));
  box-shadow:0 24px 80px rgba(0,0,0,.22);
  padding:28px;
}
.deratix-identification .deratix-id-progress{
  height:8px;
  margin-bottom:26px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(242,243,244,.12);
}
.deratix-identification .deratix-id-progress span{
  display:block;
  height:100%;
  width:20%;
  background:var(--contrast);
  transition:width .25s ease;
}
.deratix-identification .id-step{
  display:none;
}
.deratix-identification .id-step.active{
  display:block;
}
.deratix-identification .id-step-number{
  color:var(--contrast);
  font-size:.85rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.deratix-identification .id-choices{
  display:grid;
  gap:12px;
  margin-top:20px;
}
.deratix-identification .id-choices button{
  width:100%;
  min-height:54px;
  padding:14px 16px;
  border:1px solid var(--border);
  border-radius:18px;
  background:rgba(242,243,244,.06);
  color:var(--light);
  font:inherit;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}
.deratix-identification .id-choices button:hover{
  transform:translateY(-2px);
  border-color:rgba(205,51,24,.9);
  background:rgba(205,51,24,.16);
}
.deratix-identification .id-result{
  display:none;
  margin-top:28px;
  padding:24px;
  border:1px solid rgba(205,51,24,.45);
  border-radius:24px;
  background:rgba(205,51,24,.12);
}
.deratix-identification .id-result.visible{
  display:block;
}
.deratix-identification .id-result ul,
.deratix-identification .deratix-id-side ul{
  margin:16px 0 0 20px;
  color:var(--muted);
}
.deratix-identification .id-result li,
.deratix-identification .deratix-id-side li{
  margin-bottom:10px;
}
.deratix-identification .id-controls{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
@media(max-width:900px){
  .deratix-identification .deratix-id-wrap{
    grid-template-columns:1fr;
  }
}


/* Texte SEO page identification */
.identification-seo-intro{
  padding-bottom:34px;
}
.identification-seo-intro .content-grid .card{
  min-height:100%;
}
.identification-seo-intro .seo-text p:last-child{
  margin-bottom:0;
}


/* Identification visible immédiatement */
.deratix-identification{
  padding-top:24px !important;
}
.pest-hero + .deratix-identification{
  margin-top:-10px;
}


/* Questionnaire remonté juste sous le hero */
.deratix-identification{
  padding-top:0 !important;
  margin-top:-70px !important;
  position:relative;
  z-index:5;
}
.deratix-identification .section-heading{
  margin-bottom:18px !important;
}
@media(max-width:900px){
  .deratix-identification{
    margin-top:-30px !important;
  }
}


/* Correctif page Identification : suppression du grand espace vide */
.page-identification .hero.pest-hero{
  min-height:auto !important;
  padding-top:34px !important;
  padding-bottom:26px !important;
}

.page-identification .hero-content{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.page-identification .hero-text{
  margin-bottom:18px !important;
}

.page-identification .deratix-identification{
  margin-top:0 !important;
  padding-top:22px !important;
}

.page-identification .deratix-identification .section-heading{
  margin-bottom:20px !important;
}

@media(max-width:900px){
  .page-identification .hero.pest-hero{
    padding-top:24px !important;
    padding-bottom:18px !important;
  }
  .page-identification .deratix-identification{
    padding-top:18px !important;
  }
}


/* Présentation de l’outil dans la zone haute de la page Identification */
.page-identification .hero.pest-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,420px);
  gap:24px;
  align-items:start;
}

.page-identification .identification-tool-intro{
  grid-column:1 / -1;
  max-width:1180px;
  width:100%;
  margin:34px auto 0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.page-identification .tool-intro-card{
  border:1px solid var(--border);
  border-radius:24px;
  background:linear-gradient(145deg, rgba(44,68,115,.42), rgba(242,243,244,.06));
  box-shadow:0 18px 50px rgba(0,0,0,.18);
  padding:24px;
}

.page-identification .tool-intro-card h2,
.page-identification .tool-intro-card h3{
  margin-top:0;
}

.page-identification .tool-intro-card ul{
  margin:14px 0 0 20px;
  color:var(--muted);
}

.page-identification .tool-intro-card li{
  margin-bottom:8px;
}

.page-identification .tool-intro-action{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

@media(max-width:900px){
  .page-identification .hero.pest-hero{
    display:block;
  }
  .page-identification .identification-tool-intro{
    grid-template-columns:1fr;
    margin-top:22px;
  }
}


/* Identification directement sous le header */
.page-identification main{
  padding-top:24px;
}

.page-identification .deratix-identification{
  margin-top:0 !important;
  padding-top:0 !important;
}

.page-identification .deratix-identification .section-heading{
  margin-top:0 !important;
  padding-top:0 !important;
}


/* Boutons Retour / Recommencer en blanc */
.page-identification #id-back,
.page-identification #id-reset{
  color:#ffffff !important;
}

.page-identification #id-back:hover,
.page-identification #id-reset:hover{
  color:#ffffff !important;
}

/* === Cartes nuisibles modernisées + checklist d'action === */
.pest-id-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(242, 243, 244, 0.16);
  background:
    radial-gradient(circle at top right, rgba(205, 51, 24, 0.14), transparent 30%),
    linear-gradient(145deg, rgba(44, 68, 115, 0.50), rgba(242, 243, 244, 0.055));
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.pest-id-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, var(--contrast), rgba(205, 51, 24, 0));
}

.pest-id-card:hover {
  transform: translateY(-4px);
  border-color: rgba(205, 51, 24, 0.38);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.28);
}

.pest-id-card h3 {
  color: var(--light);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  letter-spacing: -0.025em;
}

.pest-id-card h4 {
  margin: 22px 0 8px;
  color: var(--light);
  font-size: 1.02rem;
  letter-spacing: -0.01em;
}

.pest-fact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 20px;
}

.pest-fact-grid p {
  min-height: 100%;
  margin: 0;
  padding: 14px 14px 14px 16px;
  border: 1px solid rgba(242, 243, 244, 0.12);
  border-radius: 18px;
  background: rgba(11, 16, 27, 0.22);
  color: var(--muted);
  line-height: 1.55;
}

.pest-fact-grid strong {
  display: block;
  margin-bottom: 4px;
  color: var(--light);
  font-size: 0.9rem;
}

.action-checklist-section {
  padding-top: 38px;
}

.action-checklist {
  max-width: 960px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 40px);
  border-color: rgba(205, 51, 24, 0.24);
  background:
    radial-gradient(circle at top left, rgba(205, 51, 24, 0.20), transparent 34%),
    linear-gradient(145deg, rgba(44, 68, 115, 0.58), rgba(242, 243, 244, 0.07));
}

.action-checklist ol {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: action-step;
  display: grid;
  gap: 12px;
}

.action-checklist li {
  position: relative;
  margin: 0;
  padding: 16px 18px 16px 62px;
  border: 1px solid rgba(242, 243, 244, 0.13);
  border-radius: 20px;
  background: rgba(11, 16, 27, 0.24);
  color: var(--muted);
  line-height: 1.65;
}

.action-checklist li::before {
  counter-increment: action-step;
  content: counter(action-step);
  position: absolute;
  left: 18px;
  top: 16px;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--contrast);
  color: var(--light);
  font-weight: 900;
  line-height: 1;
}

.action-checklist p {
  margin-bottom: 18px;
  color: var(--muted);
  line-height: 1.75;
}

@media (max-width: 900px) {
  .pest-fact-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .action-checklist li {
    padding: 14px 14px 14px 54px;
  }

  .action-checklist li::before {
    left: 14px;
    top: 14px;
  }
}

/* === Correctifs mobile 2026 : navigation + communes === */
@media (max-width: 760px) {
  .nav,
  .hero,
  .section,
  .contact-section {
    width: min(100% - 24px, 1120px);
  }

  .site-header {
    position: sticky;
  }

  .nav {
    min-height: 0;
    height: auto;
    padding: 10px 0 12px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: center;
  }

  .logo {
    justify-content: center;
    max-width: 100%;
  }

  .logo img {
    height: clamp(44px, 13vw, 56px);
    max-width: min(260px, 78vw);
    object-fit: contain;
  }

  .nav-right {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    align-items: stretch;
  }

  .nav-dropdown,
  .nav-cta,
  .nav-dropdown-button,
  .language-button,
  .nav-home {
    width: 100%;
  }

  .nav-cta,
  .nav-dropdown-button,
  .language-button,
  .nav-home {
    min-height: 44px;
    padding: 10px 12px;
    border-radius: 14px;
    font-size: 0.92rem;
    text-align: center;
    white-space: nowrap;
  }

  .nav-dropdown-options {
    left: 0;
    right: 0;
    top: calc(100% + 8px);
    width: min(100vw - 24px, 420px);
    min-width: 0;
    max-height: min(72vh, 520px);
    overflow-y: auto;
    padding: 10px;
    border-radius: 18px;
  }

  .nav-dropdown-options a {
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 0.98rem;
  }

  .hero {
    padding: 36px 0 44px;
    gap: 22px;
  }

  h1 {
    font-size: clamp(2.05rem, 12vw, 3.4rem);
    letter-spacing: -0.055em;
  }

  h2 {
    font-size: clamp(1.8rem, 9vw, 2.55rem);
    letter-spacing: -0.045em;
  }

  .hero-text {
    font-size: 1.04rem;
  }

  .actions,
  .contact-buttons,
  .identification-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 24px;
  }

  .button,
  .form-submit {
    width: 100%;
    min-height: 50px;
    padding: 13px 16px;
    border-radius: 16px;
    text-align: center;
  }

  .hero-card,
  .card,
  .zone-box,
  .step,
  .contact-panel,
  .philosophy-card,
  .identification-panel {
    border-radius: 22px;
  }

  .section {
    padding: 54px 0;
  }

  .section-heading {
    margin-bottom: 24px;
  }
}

@media (max-width: 560px) {
  .communes-box {
    padding: 20px;
  }

  .communes-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    max-height: 360px;
    overflow-y: auto;
    padding-right: 4px;
    scrollbar-width: thin;
  }

  .communes-list li {
    width: 100%;
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 9px 12px;
    border-radius: 14px;
    font-size: 0.95rem;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
  }

  .communes-note {
    margin-top: 14px;
    font-size: 0.92rem;
  }
}

@media (max-width: 380px) {
  .nav-right {
    grid-template-columns: 1fr;
  }

  .nav-cta,
  .nav-dropdown-button,
  .language-button,
  .nav-home {
    min-height: 42px;
  }
}

/* Mobile layout fixes - 2026-05-26 */
@media (max-width: 680px) {
  .site-header {
    position: sticky;
  }

  .nav,
  .hero,
  .section,
  .contact-section {
    width: min(100% - 24px, 1120px);
  }

  .nav {
    padding: 12px 0 14px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
  }

  .logo img {
    height: auto;
    width: min(230px, 72vw);
    max-height: 68px;
  }

  .nav-right {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-items: stretch;
  }

  .nav-dropdown,
  .nav-cta {
    width: 100%;
  }

  .nav-dropdown-button,
  .nav-cta,
  .language-button {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    font-size: 1rem;
    line-height: 1.1;
    text-align: center;
  }

  .nav-dropdown-options {
    left: 0;
    right: 0;
    min-width: 0;
    max-height: min(70vh, 460px);
    overflow-y: auto;
  }

  .hero {
    padding-top: 38px;
  }

  .section {
    padding: 54px 0;
  }

  .split {
    gap: 18px;
  }

  .zone-box,
  .communes-box {
    padding: 22px;
    border-radius: 24px;
  }

  .communes-box h3 {
    font-size: clamp(1.55rem, 7vw, 2.1rem);
    letter-spacing: -0.035em;
  }

  .communes-list {
    display: block;
    column-count: 2;
    column-gap: 18px;
    margin-top: 10px;
  }

  .communes-list li {
    display: block;
    break-inside: avoid;
    width: auto;
    margin: 0;
    padding: 5px 0 5px 16px;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-size: 0.96rem;
    line-height: 1.25;
    text-align: left;
    white-space: normal;
  }

  .communes-list li::before {
    display: block;
    top: 13px;
    width: 5px;
    height: 5px;
  }
}

@media (max-width: 360px) {
  .nav-right {
    grid-template-columns: 1fr;
  }

  .communes-list {
    column-count: 1;
  }
}

/* === Correctif mobile v3 : logo + boutons sur une seule ligne === */
@media (max-width: 760px) {
  .site-header {
    overflow: visible;
  }

  .nav {
    width: min(100% - 20px, 1120px) !important;
    height: auto !important;
    min-height: clamp(70px, 18vw, 92px) !important;
    padding: clamp(8px, 2.6vw, 12px) 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: clamp(6px, 2vw, 14px) !important;
  }

  .logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
  }

  .logo img {
    width: clamp(145px, 42vw, 240px) !important;
    height: auto !important;
    max-height: clamp(42px, 10vw, 60px) !important;
    object-fit: contain !important;
  }

  .nav-right {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(5px, 1.7vw, 10px) !important;
  }

  .nav-dropdown,
  .nav-cta {
    width: auto !important;
    flex: 0 1 auto !important;
  }

  .nav-dropdown-button,
  .nav-cta {
    width: auto !important;
    min-height: clamp(38px, 9.5vw, 46px) !important;
    padding: clamp(8px, 2.3vw, 11px) clamp(10px, 3vw, 16px) !important;
    border-radius: 999px !important;
    font-size: clamp(0.78rem, 3.5vw, 1rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .nav-dropdown-button::after {
    width: 6px !important;
    height: 6px !important;
    margin-left: clamp(4px, 1.4vw, 8px) !important;
  }

  .nav-dropdown-options {
    left: auto !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    width: min(88vw, 330px) !important;
    max-height: min(70vh, 460px) !important;
    overflow-y: auto !important;
  }
}

@media (max-width: 420px) {
  .nav {
    width: min(100% - 16px, 1120px) !important;
    gap: 5px !important;
  }

  .logo img {
    width: clamp(132px, 38vw, 170px) !important;
  }

  .nav-right {
    gap: 5px !important;
  }

  .nav-dropdown-button,
  .nav-cta {
    min-height: 38px !important;
    padding: 8px 10px !important;
    font-size: clamp(0.72rem, 3.25vw, 0.86rem) !important;
  }
}

@media (max-width: 350px) {
  .logo img {
    width: clamp(112px, 34vw, 132px) !important;
  }

  .nav-dropdown-button,
  .nav-cta {
    padding: 7px 8px !important;
    font-size: 0.7rem !important;
  }

  .nav-dropdown-button::after {
    margin-left: 4px !important;
  }
}


/* === Correctif iPhone Safari v4 : header toujours sur une seule ligne === */
@media (max-width: 760px) {
  html, body {
    overflow-x: hidden;
  }

  .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    overflow: visible;
  }

  .site-header .nav {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 10px 12px !important;
    height: 76px !important;
    min-height: 76px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }

  .site-header .logo {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
  }

  .site-header .logo img {
    display: block !important;
    width: auto !important;
    height: 44px !important;
    max-width: 100% !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .site-header .nav-right {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
  }

  .site-header .nav-dropdown,
  .site-header .nav-cta {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
  }

  .site-header .nav-dropdown-button,
  .site-header .nav-cta {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    line-height: 40px !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .site-header .nav-dropdown-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .site-header .nav-dropdown-button::after {
    flex: 0 0 auto !important;
    width: 6px !important;
    height: 6px !important;
    margin-left: 7px !important;
  }

  .site-header .nav-dropdown-options {
    left: auto !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    width: min(88vw, 330px) !important;
    min-width: 0 !important;
    max-height: min(70vh, 460px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 390px) {
  .site-header .nav {
    padding-left: 8px !important;
    padding-right: 8px !important;
    gap: 5px !important;
  }

  .site-header .logo img {
    height: 38px !important;
  }

  .site-header .nav-right {
    gap: 5px !important;
  }

  .site-header .nav-dropdown-button,
  .site-header .nav-cta {
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 9px !important;
    font-size: 13px !important;
    line-height: 36px !important;
  }

  .site-header .nav-dropdown-button::after {
    width: 5px !important;
    height: 5px !important;
    margin-left: 5px !important;
  }
}

@media (max-width: 340px) {
  .site-header .logo img {
    height: 32px !important;
  }

  .site-header .nav-dropdown-button,
  .site-header .nav-cta {
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 7px !important;
    font-size: 12px !important;
    line-height: 34px !important;
  }
}

/* === Correctif iPhone Safari v5 : header fixe pendant le scroll === */
@media (max-width: 760px) {
  html {
    overflow-x: clip;
  }

  body {
    overflow-x: hidden;
    padding-top: 76px;
  }

  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
  }
}

@media (max-width: 390px) {
  body {
    padding-top: 76px;
  }
}


/* Page secteur d’activité - conserve la mise en page d’origine */
.secteur-list {
  columns: 2;
  column-gap: 32px;
}

.secteur-list li {
  break-inside: avoid;
}

@media (max-width: 720px) {
  .secteur-list {
    columns: 1;
  }
}






/* Communes desservies : grille harmonieuse et alignée */
.area-list,
.improved-area-list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 34px 0 0 0 !important;
  columns: unset !important;
  column-count: unset !important;
}

.area-list li,
.improved-area-list li {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 46px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  border-radius: 14px !important;
  text-align: center !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  background: rgba(255,255,255,0.055) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
}

/* Lien contactez-nous : visible comme un appel à l’action */
a[href="index.html#contact"],
a[href="#contact"] {
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: color .2s ease !important;
}

a[href="index.html#contact"]:hover,
a[href="#contact"]:hover {
  color: #cd3318 !important;
}

@media (max-width: 900px) {
  .area-list,
  .improved-area-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .area-list,
  .improved-area-list {
    grid-template-columns: 1fr !important;
  }
}


/* ===== ALIGNEMENT STRICT COMMUNES ===== */

.area-list.improved-area-list{
    display:grid !important;
    grid-template-columns:repeat(4, 220px) !important;
    justify-content:center !important;
    gap:14px !important;
    padding:0 !important;
    margin:35px auto 0 auto !important;
    list-style:none !important;
}

.area-list.improved-area-list li{
    width:220px !important;
    height:52px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    margin:0 !important;
    padding:0 12px !important;
    border-radius:14px !important;
    box-sizing:border-box !important;
    background:rgba(255,255,255,0.05) !important;
    border:1px solid rgba(255,255,255,0.10) !important;
}

/* Contactez-nous visible */
a[href="index.html#contact"]{
    font-weight:800 !important;
    transition:all .2s ease !important;
}

a[href="index.html#contact"]:hover{
    color:#cd3318 !important;
}

@media(max-width:1100px){
    .area-list.improved-area-list{
        grid-template-columns:repeat(3,220px) !important;
    }
}

@media(max-width:760px){
    .area-list.improved-area-list{
        grid-template-columns:repeat(2,220px) !important;
    }
}

@media(max-width:520px){
    .area-list.improved-area-list{
        grid-template-columns:220px !important;
    }
}


/* Réduction de l'espace entre communes */
.area-list.improved-area-list{
    gap:6px !important;
}

.area-list.improved-area-list li{
    border-radius:12px !important;
}


/* Section courte "Que faire en cas de nuisibles ?" sur index */
.todo-box {
  max-width: 920px;
  margin: 34px auto 0 auto;
  display: grid;
  gap: 16px;
}

.todo-step {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: left;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}

.todo-number {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #cd3318;
  color: #fff;
  font-weight: 800;
}

.todo-step p {
  margin: 0;
}

.todo-link {
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  transition: color .2s ease;
}

.todo-link:hover {
  color: #cd3318 !important;
}

@media (max-width: 600px) {
  .todo-step {
    grid-template-columns: 1fr;
  }
}


/* Images nuisibles intégrées */
.pest-visual-section{padding-top:0;}
.pest-visual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;align-items:stretch;}
.pest-visual-card{overflow:hidden;padding:0;background:#fff;border-radius:22px;box-shadow:0 18px 45px rgba(18,35,25,.08);}
.pest-visual-card img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;display:block;}
.home-pest-visuals .pest-visual-card{text-decoration:none;color:inherit;display:block;}

.pest-visual-section .pest-visual-grid{max-width:860px;}
.pest-visual-section .pest-visual-card{margin:0 auto;width:100%;}


.home-pest-visuals .pest-card-title{
  display:block;
  padding:14px 16px 16px;
  font-weight:700;
  color:#143326;
  text-align:center;
  letter-spacing:-.01em;
}
.home-pest-visuals .pest-visual-card{
  transition:transform .22s ease, box-shadow .22s ease;
}
.home-pest-visuals .pest-visual-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 52px rgba(18,35,25,.12);
}
.home-pest-visuals .pest-visual-card img{
  transition:transform .35s ease;
}
.home-pest-visuals .pest-visual-card:hover img{
  transform:scale(1.035);
}

/* === Menu burger responsive - 2026-05-31 === */
@media (max-width: 760px) {
  .site-header .nav-dropdown-button {
    position: relative !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 1 !important;
    color: var(--primary) !important;
    border-radius: 14px !important;
  }

  .site-header .nav-dropdown-button::before {
    content: "" !important;
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    margin: 0 auto !important;
    border-radius: 999px !important;
    background: currentColor !important;
    box-shadow: 0 -7px 0 currentColor, 0 7px 0 currentColor !important;
  }

  .site-header .nav-dropdown-button::after {
    display: none !important;
    content: none !important;
  }

  .site-header .nav-dropdown.open .nav-dropdown-button::before,
  .site-header .nav-dropdown:focus-within .nav-dropdown-button::before {
    box-shadow: 0 -7px 0 currentColor, 0 7px 0 currentColor !important;
  }

  .site-header .nav-dropdown-options {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    left: auto !important;
    width: min(92vw, 360px) !important;
    min-width: 0 !important;
    max-height: min(76vh, 560px) !important;
    overflow-y: auto !important;
    padding: 12px !important;
    border-radius: 22px !important;
    background: var(--light) !important;
    box-shadow: 0 24px 70px rgba(11, 16, 27, 0.24) !important;
  }

  .site-header .nav-dropdown-options a {
    padding: 13px 14px !important;
    border-radius: 14px !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
  }
}


/* === Vrai menu burger header mobile === */
.mobile-menu-toggle {
  display: none;
}

@media (max-width: 760px) {
  .nav {
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: center;
    position: relative;
    padding: 10px 0;
  }

  .logo {
    justify-content: flex-start;
  }

  .logo img {
    height: clamp(44px, 13vw, 58px);
    max-width: min(245px, 68vw);
  }

  .mobile-menu-toggle {
    display: inline-flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 1px solid rgba(11, 16, 27, 0.14);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(11, 16, 27, 0.08);
    cursor: pointer;
  }

  .mobile-menu-toggle span {
    display: block;
    width: 23px;
    height: 2px;
    border-radius: 999px;
    background: var(--primary);
    transition: transform 0.2s ease, opacity 0.2s ease;
  }

  .nav.menu-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .nav.menu-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0;
  }

  .nav.menu-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .nav-right {
    display: none;
    grid-column: 1 / -1;
    width: 100%;
    padding: 10px;
    border: 1px solid rgba(11, 16, 27, 0.1);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 20px 50px rgba(11, 16, 27, 0.14);
  }

  .nav.menu-open .nav-right {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .nav-dropdown,
  .nav-cta,
  .nav-dropdown-button,
  .language-button,
  .nav-home {
    width: 100%;
  }

  .nav-cta,
  .nav-dropdown-button,
  .language-button,
  .nav-home {
    min-height: 46px;
    justify-content: center;
    border-radius: 14px;
    text-align: center;
  }

  .nav-dropdown-options {
    position: static;
    width: 100%;
    min-width: 0;
    margin-top: 8px;
    max-height: none;
    overflow: visible;
    box-shadow: none;
    border-radius: 14px;
    background: rgba(44, 68, 115, 0.06);
  }

  .nav-dropdown:hover .nav-dropdown-options,
  .nav-dropdown.open .nav-dropdown-options,
  .nav-dropdown:focus-within .nav-dropdown-options {
    display: grid;
  }
}


/* === MENU BURGER HEADER GLOBAL - Dératix === */
.site-header .nav {
  display: grid !important;
  grid-template-columns: auto 52px !important;
  align-items: center !important;
  gap: 16px !important;
  position: relative !important;
}

.site-header .logo {
  min-width: 0 !important;
}

.site-header .logo img {
  max-width: min(260px, 64vw) !important;
  height: auto !important;
}

.site-header .mobile-menu-toggle {
  display: inline-flex !important;
  width: 52px !important;
  height: 52px !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 6px !important;
  border: 1px solid rgba(11,16,27,.16) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 12px 28px rgba(11,16,27,.12) !important;
  cursor: pointer !important;
  margin-left: auto !important;
  z-index: 1002 !important;
}

.site-header .mobile-menu-toggle span {
  display: block !important;
  width: 26px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: var(--primary, #2c4473) !important;
  transition: transform .22s ease, opacity .22s ease !important;
}

.site-header .nav.menu-open .mobile-menu-toggle span:nth-child(1) {
  transform: translateY(9px) rotate(45deg) !important;
}

.site-header .nav.menu-open .mobile-menu-toggle span:nth-child(2) {
  opacity: 0 !important;
}

.site-header .nav.menu-open .mobile-menu-toggle span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg) !important;
}

.site-header .nav-right {
  display: none !important;
  grid-column: 1 / -1 !important;
  width: min(100%, 520px) !important;
  justify-self: end !important;
  margin-top: 10px !important;
  padding: 14px !important;
  border: 1px solid rgba(11,16,27,.10) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 26px 70px rgba(11,16,27,.18) !important;
  z-index: 1001 !important;
}

.site-header .nav.menu-open .nav-right {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.site-header .nav-home,
.site-header .nav-cta,
.site-header .nav-dropdown-button,
.site-header .language-button {
  display: flex !important;
  width: 100% !important;
  min-height: 48px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 16px !important;
  border-radius: 16px !important;
  font-weight: 800 !important;
  text-align: center !important;
  text-decoration: none !important;
}

.site-header .nav-home {
  color: var(--primary, #2c4473) !important;
  background: rgba(44,68,115,.08) !important;
}

.site-header .nav-dropdown,
.site-header .language-menu {
  width: 100% !important;
  position: relative !important;
}

.site-header .nav-dropdown-options,
.site-header .language-options {
  position: static !important;
  display: none !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 8px !important;
  padding: 8px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: rgba(44,68,115,.07) !important;
  box-shadow: none !important;
}

.site-header .nav-dropdown.open .nav-dropdown-options,
.site-header .language-menu.open .language-options,
.site-header .nav-dropdown:focus-within .nav-dropdown-options,
.site-header .language-menu:focus-within .language-options {
  display: grid !important;
  gap: 4px !important;
}

.site-header .nav-dropdown-options a,
.site-header .language-options a {
  display: block !important;
  padding: 12px 14px !important;
  border-radius: 12px !important;
  color: var(--primary, #2c4473) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.site-header .nav-dropdown-options a:hover,
.site-header .language-options a:hover {
  background: rgba(44,68,115,.12) !important;
}

@media (max-width: 680px) {
  .site-header .nav {
    grid-template-columns: minmax(0, 1fr) 50px !important;
    gap: 10px !important;
  }
  .site-header .logo img {
    max-width: min(230px, 68vw) !important;
  }
  .site-header .nav-right {
    width: 100% !important;
  }
}

/* === Correction header burger : Accueil/Contact hors menu + logo stable === */
.site-header .nav {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  position: relative !important;
  flex-wrap: nowrap !important;
}

.site-header .logo {
  order: 1 !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}

.site-header .logo img {
  display: block !important;
  width: auto !important;
  max-width: 230px !important;
  height: auto !important;
}

.site-header .nav-right {
  display: contents !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.site-header .nav-home {
  order: 2 !important;
  display: inline-flex !important;
  width: auto !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 14px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}

.site-header .nav-cta {
  order: 3 !important;
  display: inline-flex !important;
  width: auto !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}

.site-header .mobile-menu-toggle {
  order: 4 !important;
  flex: 0 0 52px !important;
  margin-left: auto !important;
}

.site-header .pest-menu {
  order: 5 !important;
  display: none !important;
  position: absolute !important;
  top: calc(100% + 12px) !important;
  right: 0 !important;
  left: auto !important;
  width: min(360px, calc(100vw - 32px)) !important;
  z-index: 1001 !important;
  padding: 12px !important;
  border: 1px solid rgba(11,16,27,.10) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 26px 70px rgba(11,16,27,.18) !important;
}

.site-header .nav.menu-open .pest-menu {
  display: block !important;
}

.site-header .pest-menu .nav-dropdown-button {
  display: none !important;
}

.site-header .pest-menu .nav-dropdown-options {
  position: static !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.site-header .pest-menu .nav-dropdown-options a {
  display: block !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  color: var(--primary, #2c4473) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  background: rgba(44,68,115,.07) !important;
}

.site-header .pest-menu .nav-dropdown-options a:hover,
.site-header .pest-menu .nav-dropdown-options a:focus {
  background: rgba(44,68,115,.14) !important;
}

@media (max-width: 760px) {
  .site-header .nav {
    gap: 8px !important;
  }

  .site-header .logo img {
    max-width: 150px !important;
  }

  .site-header .nav-home,
  .site-header .nav-cta {
    min-height: 40px !important;
    padding: 9px 10px !important;
    font-size: .86rem !important;
  }

  .site-header .mobile-menu-toggle {
    width: 46px !important;
    height: 46px !important;
    flex-basis: 46px !important;
    border-radius: 14px !important;
  }
}

@media (max-width: 430px) {
  .site-header .logo img {
    max-width: 118px !important;
  }
  .site-header .nav-home,
  .site-header .nav-cta {
    padding-inline: 8px !important;
    font-size: .78rem !important;
  }
}


/* === CORRECTION FINALE HEADER : logo stable + Contact près du burger === */
.site-header .nav {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  position: relative !important;
}

.site-header .logo {
  order: 1 !important;
  flex: 0 1 auto !important;
  margin-right: auto !important;
  min-width: 0 !important;
}

.site-header .logo img {
  display: block !important;
  width: auto !important;
  max-width: min(230px, 52vw) !important;
  height: auto !important;
}

.site-header .nav-right {
  display: contents !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.site-header .nav-home,
.site-header a.nav-home {
  display: none !important;
}

.site-header .nav-cta {
  order: 2 !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 16px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

.site-header .mobile-menu-toggle {
  order: 3 !important;
  display: inline-flex !important;
  flex: 0 0 52px !important;
  width: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 6px !important;
  z-index: 1002 !important;
}

.site-header .pest-menu,
.site-header .language-menu {
  order: 4 !important;
  display: none !important;
  position: absolute !important;
  top: calc(100% + 12px) !important;
  right: 0 !important;
  left: auto !important;
  width: min(380px, calc(100vw - 32px)) !important;
  z-index: 1001 !important;
  padding: 12px !important;
  border: 1px solid rgba(11,16,27,.10) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 26px 70px rgba(11,16,27,.18) !important;
}

.site-header .nav.menu-open .pest-menu,
.site-header .nav.menu-open .language-menu {
  display: block !important;
}

.site-header .pest-menu > .nav-dropdown-button,
.site-header .language-menu > .language-button {
  display: none !important;
}

.site-header .pest-menu .nav-dropdown-options,
.site-header .language-menu .language-options {
  position: static !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.site-header .pest-menu .nav-dropdown-options a,
.site-header .language-menu .language-options a {
  display: block !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  color: var(--primary, #2c4473) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  background: rgba(44,68,115,.07) !important;
}

@media (max-width: 520px) {
  .site-header .logo img {
    max-width: min(185px, 46vw) !important;
  }
  .site-header .nav-cta {
    min-height: 42px !important;
    padding: 9px 12px !important;
    font-size: .92rem !important;
  }
  .site-header .mobile-menu-toggle {
    flex-basis: 46px !important;
    width: 46px !important;
    height: 46px !important;
  }
}


/* === HEADER FINAL CORRIGE : logo stable + contact pres du burger === */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(20px)}
.site-header .nav{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;position:relative!important;flex-wrap:nowrap!important;width:100%!important}
.site-header .logo{order:1!important;display:flex!important;align-items:center!important;flex:0 1 auto!important;margin:0!important;min-width:0!important}
.site-header .logo img{display:block!important;width:auto!important;max-width:230px!important;height:auto!important;margin:0!important;transform:none!important}
.site-header .header-actions{order:2!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;margin-left:auto!important;flex:0 0 auto!important}
.site-header .header-actions .nav-cta{order:1!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-height:44px!important;padding:10px 18px!important;border-radius:999px!important;white-space:nowrap!important;text-align:center!important;text-decoration:none!important;margin:0!important;position:static!important;transform:none!important}
.site-header .mobile-menu-toggle{order:2!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:5px!important;width:48px!important;height:48px!important;flex:0 0 48px!important;margin:0!important;padding:0!important;border:1px solid rgba(11,16,27,.16)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 10px 24px rgba(11,16,27,.10)!important;cursor:pointer!important;position:static!important;z-index:1002!important;transform:none!important}
.site-header .mobile-menu-toggle span{display:block!important;width:24px!important;height:2px!important;border-radius:999px!important;background:var(--primary,#2c4473)!important;transition:transform .22s ease,opacity .22s ease!important}
.site-header .nav.menu-open .mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)!important}
.site-header .nav.menu-open .mobile-menu-toggle span:nth-child(2){opacity:0!important}
.site-header .nav.menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important}
.site-header .nav-burger-panel{display:none!important;position:absolute!important;top:calc(100% + 12px)!important;right:0!important;left:auto!important;width:min(380px,calc(100vw - 32px))!important;margin:0!important;padding:14px!important;border:1px solid rgba(11,16,27,.10)!important;border-radius:22px!important;background:#fff!important;box-shadow:0 26px 70px rgba(11,16,27,.18)!important;z-index:1001!important;transform:none!important}
.site-header .nav.menu-open .nav-burger-panel{display:block!important}
.site-header .nav-burger-panel .pest-menu{display:block!important;position:static!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.site-header .burger-panel-title{margin:0 0 10px!important;font-weight:900!important;color:var(--primary,#2c4473)!important;text-align:left!important}
.site-header .nav-burger-panel .nav-dropdown-options{display:grid!important;position:static!important;grid-template-columns:1fr!important;gap:6px!important;width:100%!important;min-width:0!important;max-height:70vh!important;overflow:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.site-header .nav-burger-panel .nav-dropdown-options a{display:block!important;padding:12px 14px!important;border-radius:14px!important;background:rgba(44,68,115,.07)!important;color:var(--primary,#2c4473)!important;font-weight:800!important;text-decoration:none!important;text-align:left!important;white-space:normal!important}
.site-header .nav-burger-panel .nav-dropdown-options a:hover,.site-header .nav-burger-panel .nav-dropdown-options a:focus{background:rgba(44,68,115,.14)!important}
.site-header .nav-home,.site-header .nav-burger-panel .nav-cta,.site-header .nav-burger-panel .nav-dropdown-button{display:none!important}
@media (max-width:760px){.site-header .nav{gap:10px!important}.site-header .logo img{max-width:150px!important}.site-header .header-actions{gap:8px!important}.site-header .header-actions .nav-cta{min-height:40px!important;padding:9px 13px!important;font-size:.86rem!important}.site-header .mobile-menu-toggle{width:44px!important;height:44px!important;flex-basis:44px!important}.site-header .nav-burger-panel{right:0!important;width:min(360px,calc(100vw - 24px))!important}}
@media (max-width:390px){.site-header .logo img{max-width:128px!important}.site-header .header-actions .nav-cta{padding-inline:10px!important;font-size:.8rem!important}.site-header .mobile-menu-toggle{width:42px!important;height:42px!important;flex-basis:42px!important}}

/* === HEADER RESTAURE + BURGER STABLE DEFINITIF === */
.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  overflow: visible !important;
  background: var(--light) !important;
  border-bottom: 1px solid rgba(11,16,27,.12) !important;
}
.site-header .nav {
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: 1120px !important;
  height: 78px !important;
  min-height: 78px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  position: relative !important;
}
.site-header .logo {
  order: 1 !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  overflow: visible !important;
}
.site-header .logo img {
  display: block !important;
  width: auto !important;
  height: 64px !important;
  max-width: min(260px, 45vw) !important;
  object-fit: contain !important;
  object-position: left center !important;
  margin: 0 !important;
  transform: none !important;
}
.site-header .nav-right.header-actions {
  order: 2 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  margin: 0 !important;
  position: relative !important;
}
.site-header .burger-menu {
  position: relative !important;
  display: inline-flex !important;
  order: 1 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.site-header .nav-cta {
  order: 2 !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 48px !important;
  height: auto !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 13px 22px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  margin: 0 !important;
  position: static !important;
  transform: none !important;
}
.site-header .mobile-menu-toggle.nav-dropdown-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 5px !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  flex: 0 0 52px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 999px !important;
  border: 1px solid rgba(11,16,27,.16) !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(11,16,27,.10) !important;
  cursor: pointer !important;
  line-height: 1 !important;
  position: relative !important;
  transform: none !important;
}
.site-header .mobile-menu-toggle.nav-dropdown-button::after { display: none !important; }
.site-header .mobile-menu-toggle span {
  display: block !important;
  width: 24px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: var(--primary, #2c4473) !important;
  transition: transform .22s ease, opacity .22s ease !important;
}
.site-header .burger-menu.open .mobile-menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
.site-header .burger-menu.open .mobile-menu-toggle span:nth-child(2) { opacity: 0 !important; }
.site-header .burger-menu.open .mobile-menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }
.site-header .burger-menu .nav-dropdown-options {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 12px) !important;
  right: 0 !important;
  left: auto !important;
  width: min(380px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-height: min(70vh, 520px) !important;
  overflow-y: auto !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid rgba(11,16,27,.10) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 26px 70px rgba(11,16,27,.18) !important;
  z-index: 1001 !important;
  transform: none !important;
}
.site-header .burger-menu.open .nav-dropdown-options,
.site-header .burger-menu:focus-within .nav-dropdown-options {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
}
.site-header .burger-menu .nav-dropdown-options a {
  display: block !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  color: var(--primary, #2c4473) !important;
  background: rgba(44,68,115,.07) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  text-align: left !important;
  white-space: normal !important;
}
.site-header .burger-menu .nav-dropdown-options a:hover,
.site-header .burger-menu .nav-dropdown-options a:focus {
  background: rgba(44,68,115,.14) !important;
}
.site-header .nav-home,
.site-header .burger-panel-title,
.site-header .nav-burger-panel,
.site-header .language-menu { display: none !important; }
@media (max-width: 760px) {
  .site-header .nav {
    width: min(1120px, calc(100% - 24px)) !important;
    height: 76px !important;
    min-height: 76px !important;
    gap: 10px !important;
  }
  .site-header .logo img {
    height: 50px !important;
    max-width: min(175px, 42vw) !important;
  }
  .site-header .nav-right.header-actions { gap: 8px !important; }
  .site-header .nav-cta {
    min-height: 42px !important;
    padding: 9px 14px !important;
    font-size: .9rem !important;
  }
  .site-header .mobile-menu-toggle.nav-dropdown-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    flex-basis: 44px !important;
  }
  .site-header .burger-menu .nav-dropdown-options {
    width: min(360px, calc(100vw - 24px)) !important;
    right: 0 !important;
  }
}
@media (max-width: 390px) {
  .site-header .logo img { max-width: min(145px, 38vw) !important; }
  .site-header .nav-cta { padding-inline: 10px !important; font-size: .8rem !important; }
  .site-header .mobile-menu-toggle.nav-dropdown-button {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    flex-basis: 42px !important;
  }
}


/* === CORRECTION STABILITE HEADER : ouverture burger sans aucun decalage === */
.site-header,
.site-header * {
  box-sizing: border-box !important;
}
.site-header {
  overflow: visible !important;
}
.site-header .nav,
.site-header .nav.menu-open {
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: 1120px !important;
  height: 78px !important;
  min-height: 78px !important;
  max-height: 78px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  position: relative !important;
  transform: none !important;
}
.site-header .logo,
.site-header .nav.menu-open .logo {
  order: 1 !important;
  flex: 0 1 auto !important;
  align-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
}
.site-header .logo img,
.site-header .nav.menu-open .logo img {
  display: block !important;
  height: 64px !important;
  width: auto !important;
  max-width: min(260px, 45vw) !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  transform: none !important;
}
.site-header .nav-right.header-actions,
.site-header .nav.menu-open .nav-right.header-actions {
  order: 2 !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  width: auto !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  transform: none !important;
}
.site-header .nav-cta,
.site-header .nav.menu-open .nav-cta {
  order: 1 !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  padding: 0 22px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  position: static !important;
  transform: none !important;
}
.site-header .nav-cta:hover,
.site-header .nav-cta:focus,
.site-header .nav-cta:active {
  transform: none !important;
}
.site-header .burger-menu,
.site-header .burger-menu.open,
.site-header .nav.menu-open .burger-menu {
  order: 2 !important;
  flex: 0 0 52px !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  position: relative !important;
  transform: none !important;
}
.site-header .mobile-menu-toggle.nav-dropdown-button,
.site-header .burger-menu.open .mobile-menu-toggle.nav-dropdown-button,
.site-header .nav.menu-open .mobile-menu-toggle.nav-dropdown-button {
  order: 1 !important;
  flex: 0 0 52px !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 5px !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 999px !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  line-height: 1 !important;
}
.site-header .mobile-menu-toggle.nav-dropdown-button:hover,
.site-header .mobile-menu-toggle.nav-dropdown-button:focus,
.site-header .mobile-menu-toggle.nav-dropdown-button:active {
  transform: none !important;
}
.site-header .burger-menu .nav-dropdown-options,
.site-header .burger-menu.open .nav-dropdown-options,
.site-header .burger-menu:focus-within .nav-dropdown-options,
.site-header .nav.menu-open .burger-menu .nav-dropdown-options {
  position: absolute !important;
  top: calc(100% + 12px) !important;
  right: 0 !important;
  left: auto !important;
  width: min(380px, calc(100vw - 32px)) !important;
  min-width: 0 !important;
  max-height: min(70vh, 520px) !important;
  overflow-y: auto !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid rgba(11,16,27,.10) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 26px 70px rgba(11,16,27,.18) !important;
  z-index: 1001 !important;
  transform: none !important;
}
.site-header .burger-menu .nav-dropdown-options {
  display: none !important;
}
.site-header .burger-menu.open .nav-dropdown-options,
.site-header .burger-menu:focus-within .nav-dropdown-options {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
}
.site-header .nav-home,
.site-header .language-menu,
.site-header .nav-burger-panel,
.site-header .burger-panel-title {
  display: none !important;
}
@media (max-width: 760px) {
  .site-header .nav,
  .site-header .nav.menu-open {
    width: min(1120px, calc(100% - 24px)) !important;
    height: 76px !important;
    min-height: 76px !important;
    max-height: 76px !important;
    gap: 10px !important;
  }
  .site-header .logo img,
  .site-header .nav.menu-open .logo img {
    height: 50px !important;
    max-width: min(175px, 42vw) !important;
  }
  .site-header .nav-right.header-actions,
  .site-header .nav.menu-open .nav-right.header-actions {
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    gap: 8px !important;
  }
  .site-header .nav-cta,
  .site-header .nav.menu-open .nav-cta {
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 14px !important;
    font-size: .9rem !important;
  }
  .site-header .burger-menu,
  .site-header .burger-menu.open,
  .site-header .mobile-menu-toggle.nav-dropdown-button,
  .site-header .burger-menu.open .mobile-menu-toggle.nav-dropdown-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    flex-basis: 44px !important;
  }
  .site-header .burger-menu .nav-dropdown-options,
  .site-header .burger-menu.open .nav-dropdown-options,
  .site-header .burger-menu:focus-within .nav-dropdown-options {
    width: min(360px, calc(100vw - 24px)) !important;
    right: 0 !important;
  }
}
@media (max-width: 390px) {
  .site-header .logo img,
  .site-header .nav.menu-open .logo img {
    max-width: min(145px, 38vw) !important;
  }
  .site-header .nav-cta,
  .site-header .nav.menu-open .nav-cta {
    padding-inline: 10px !important;
    font-size: .8rem !important;
  }
  .site-header .burger-menu,
  .site-header .burger-menu.open,
  .site-header .mobile-menu-toggle.nav-dropdown-button,
  .site-header .burger-menu.open .mobile-menu-toggle.nav-dropdown-button {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    flex-basis: 42px !important;
  }
}

/* === ALIGNEMENT FINAL DU HEADER : burger dans la hauteur du header === */
.site-header .nav {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.site-header .nav-right.header-actions {
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  transform: translateY(-50%) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  height: 52px !important;
  max-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.site-header .nav.menu-open .nav-right.header-actions {
  position: absolute !important;
  top: 50% !important;
  right: 0 !important;
  transform: translateY(-50%) !important;
}
.site-header .burger-menu,
.site-header .mobile-menu-toggle.nav-dropdown-button {
  position: relative !important;
  top: 0 !important;
  bottom: auto !important;
  align-self: center !important;
  margin: 0 !important;
  transform: none !important;
}
.site-header .burger-menu .nav-dropdown-options {
  top: calc(100% + 12px) !important;
  right: 0 !important;
}
@media (max-width: 760px) {
  .site-header .nav-right.header-actions,
  .site-header .nav.menu-open .nav-right.header-actions {
    height: 44px !important;
    max-height: 44px !important;
    gap: 8px !important;
  }
}

/* === Correctif mobile final : header fixe + burger 3 lignes === */
@media (max-width: 760px) {
  html,
  body {
    margin: 0 !important;
    padding-top: 0 !important;
    overflow-x: hidden !important;
  }

  body {
    padding-top: 64px !important;
  }

  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    z-index: 9999 !important;
    background: var(--light) !important;
    border-bottom: 1px solid rgba(11,16,27,.12) !important;
    overflow: visible !important;
  }

  .site-header .nav,
  .site-header .nav.menu-open {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    margin: 0 !important;
    padding: 8px 12px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    background: transparent !important;
    transform: none !important;
  }

  .site-header .logo,
  .site-header .nav.menu-open .logo {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: hidden !important;
    order: 1 !important;
  }

  .site-header .logo img,
  .site-header .nav.menu-open .logo img {
    display: block !important;
    width: auto !important;
    height: 40px !important;
    max-width: min(155px, 40vw) !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  .site-header .nav-right.header-actions,
  .site-header .nav.menu-open .nav-right.header-actions {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    order: 2 !important;
  }

  .site-header .nav-cta,
  .site-header .nav.menu-open .nav-cta {
    order: 1 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    font-size: 14px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    transform: none !important;
  }

  .site-header .burger-menu,
  .site-header .burger-menu.open,
  .site-header .nav.menu-open .burger-menu {
    order: 2 !important;
    position: static !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    background: transparent !important;
    transform: none !important;
  }

  .site-header .mobile-menu-toggle.nav-dropdown-button,
  .site-header .burger-menu.open .mobile-menu-toggle.nav-dropdown-button,
  .site-header .nav.menu-open .mobile-menu-toggle.nav-dropdown-button {
    position: static !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    border: 1px solid rgba(11,16,27,.16) !important;
    border-radius: 13px !important;
    background: #fff !important;
    box-shadow: 0 8px 20px rgba(11,16,27,.10) !important;
    color: var(--primary) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    transform: none !important;
  }

  .site-header .mobile-menu-toggle.nav-dropdown-button::before,
  .site-header .mobile-menu-toggle.nav-dropdown-button::after {
    content: none !important;
    display: none !important;
  }

  .site-header .mobile-menu-toggle.nav-dropdown-button span {
    display: block !important;
    width: 21px !important;
    height: 2px !important;
    min-height: 2px !important;
    max-height: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: var(--primary) !important;
    box-shadow: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .site-header .burger-menu.open .mobile-menu-toggle.nav-dropdown-button span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }
  .site-header .burger-menu.open .mobile-menu-toggle.nav-dropdown-button span:nth-child(2) {
    opacity: 0 !important;
  }
  .site-header .burger-menu.open .mobile-menu-toggle.nav-dropdown-button span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  .site-header .burger-menu .nav-dropdown-options,
  .site-header .nav.menu-open .burger-menu .nav-dropdown-options {
    position: fixed !important;
    top: 72px !important;
    right: 12px !important;
    left: auto !important;
    width: min(360px, calc(100vw - 24px)) !important;
    min-width: 0 !important;
    max-height: calc(100vh - 88px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid rgba(11,16,27,.10) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 24px 60px rgba(11,16,27,.22) !important;
    z-index: 10000 !important;
    transform: none !important;
    display: none !important;
  }

  .site-header .burger-menu.open .nav-dropdown-options,
  .site-header .burger-menu:focus-within .nav-dropdown-options {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}

@media (max-width: 380px) {
  .site-header .nav,
  .site-header .nav.menu-open {
    padding-left: 9px !important;
    padding-right: 9px !important;
    gap: 6px !important;
  }
  .site-header .logo img,
  .site-header .nav.menu-open .logo img {
    height: 36px !important;
    max-width: min(130px, 36vw) !important;
  }
  .site-header .nav-right.header-actions,
  .site-header .nav.menu-open .nav-right.header-actions {
    gap: 6px !important;
  }
  .site-header .nav-cta,
  .site-header .nav.menu-open .nav-cta {
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    font-size: 13px !important;
  }
  .site-header .burger-menu,
  .site-header .mobile-menu-toggle.nav-dropdown-button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    flex-basis: 40px !important;
  }
}


/* === DERATIX RESPONSIVE HEADER IOS/ALL DEVICES - DEFINITIVE === */
.site-header {
  background: var(--light) !important;
  border-bottom: 1px solid rgba(11,16,27,.12) !important;
  z-index: 9999 !important;
  -webkit-transform: translateZ(0) !important;
  transform: translateZ(0) !important;
}
.site-header .nav {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.site-header .logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  order: 1 !important;
}
.site-header .logo img {
  display: block !important;
  width: auto !important;
  object-fit: contain !important;
}
.site-header .header-actions,
.site-header .nav-right {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 0 auto !important;
  gap: 10px !important;
  margin-left: auto !important;
  order: 2 !important;
  position: static !important;
}
.site-header .burger-menu {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  order: 2 !important;
}
.site-header .nav-cta {
  order: 1 !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
.site-header .mobile-menu-toggle.nav-dropdown-button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  gap: 5px !important;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  flex: 0 0 46px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid rgba(11,16,27,.16) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: 0 8px 20px rgba(11,16,27,.10) !important;
  line-height: 1 !important;
  overflow: hidden !important;
  cursor: pointer !important;
  transform: none !important;
}
.site-header .mobile-menu-toggle.nav-dropdown-button::before,
.site-header .mobile-menu-toggle.nav-dropdown-button::after { content: none !important; display: none !important; }
.site-header .mobile-menu-toggle.nav-dropdown-button span {
  display: block !important;
  width: 22px !important;
  height: 2px !important;
  min-height: 2px !important;
  max-height: 2px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--primary,#2c4473) !important;
  opacity: 1 !important;
  transform: none !important;
  box-shadow: none !important;
}
.site-header .burger-menu.open .mobile-menu-toggle.nav-dropdown-button span:nth-child(1) { transform: translateY(7px) rotate(45deg) !important; }
.site-header .burger-menu.open .mobile-menu-toggle.nav-dropdown-button span:nth-child(2) { opacity: 0 !important; }
.site-header .burger-menu.open .mobile-menu-toggle.nav-dropdown-button span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) !important; }
.site-header .mobile-menu-toggle.nav-dropdown-button span:nth-child(n+4) { display: none !important; }
.site-header .burger-menu .nav-dropdown-options,
.site-header .burger-menu:focus-within .nav-dropdown-options,
.site-header .nav.menu-open .burger-menu .nav-dropdown-options {
  display: none !important;
}
.site-header .burger-menu.open .nav-dropdown-options {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
  position: fixed !important;
  top: calc(78px + env(safe-area-inset-top, 0px)) !important;
  right: max(12px, env(safe-area-inset-right, 0px)) !important;
  left: auto !important;
  width: min(360px, calc(100vw - 24px)) !important;
  max-height: calc(100dvh - 96px - env(safe-area-inset-top, 0px)) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 1px solid rgba(11,16,27,.12) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 22px 60px rgba(11,16,27,.22) !important;
  z-index: 10000 !important;
  transform: none !important;
}
.site-header .burger-menu .nav-dropdown-options a {
  display: block !important;
  padding: 12px 14px !important;
  border-radius: 13px !important;
  background: rgba(44,68,115,.07) !important;
  color: var(--primary,#2c4473) !important;
  font-weight: 800 !important;
  text-align: left !important;
  white-space: normal !important;
}
.site-header .burger-menu .nav-dropdown-options a:hover,
.site-header .burger-menu .nav-dropdown-options a:focus { background: rgba(44,68,115,.14) !important; }
@media (max-width: 760px) {
  html { scroll-padding-top: calc(64px + env(safe-area-inset-top, 0px)) !important; }
  body { padding-top: calc(64px + env(safe-area-inset-top, 0px)) !important; }
  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding-top: env(safe-area-inset-top, 0px) !important;
    margin: 0 !important;
  }
  .site-header .nav {
    width: calc(100% - 24px) !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    padding: 0 !important;
    margin: 0 auto !important;
  }
  .site-header .logo img { height: 50px !important; max-width: 145px !important; }
  .site-header .header-actions,
  .site-header .nav-right { gap: 8px !important; }
  .site-header .nav-cta {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 14px !important;
    font-size: .86rem !important;
    line-height: 1 !important;
  }
  .site-header .mobile-menu-toggle.nav-dropdown-button {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    flex-basis: 42px !important;
    border-radius: 13px !important;
    gap: 4px !important;
  }
  .site-header .mobile-menu-toggle.nav-dropdown-button span { width: 20px !important; }
  .site-header .burger-menu.open .nav-dropdown-options {
    top: calc(64px + env(safe-area-inset-top, 0px) + 8px) !important;
    right: 12px !important;
    width: min(340px, calc(100vw - 24px)) !important;
    max-height: calc(100dvh - 84px - env(safe-area-inset-top, 0px)) !important;
  }
  .hero { min-height: auto !important; }
}
@media (max-width: 380px) {
  .site-header .logo img { height: 46px !important; max-width: 125px !important; }
  .site-header .nav-cta { padding: 0 10px !important; font-size: .78rem !important; }
  .site-header .mobile-menu-toggle.nav-dropdown-button { width: 40px !important; height: 40px !important; min-width: 40px !important; flex-basis: 40px !important; }
}

/* === Overlay moderne du menu burger Dératix === */
.burger-backdrop {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(8, 14, 28, .46) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  backdrop-filter: blur(4px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity .24s ease, visibility .24s ease !important;
  z-index: 9998 !important;
}
body.burger-menu-open .burger-backdrop {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}
body.burger-menu-open {
  overflow: hidden !important;
}
.site-header {
  z-index: 10001 !important;
}
.site-header .burger-menu.open .nav-dropdown-options {
  z-index: 10002 !important;
}
@media (max-width: 760px) {
  .burger-backdrop {
    top: calc(64px + env(safe-area-inset-top, 0px)) !important;
  }
}

/* === Fond translucide uniquement sur le panneau du menu burger === */
.site-header .burger-menu.open .nav-dropdown-options {
  background: rgba(255, 255, 255, 0.10) !important;
  -webkit-backdrop-filter: blur(20px) saturate(135%) !important;
  backdrop-filter: blur(20px) saturate(135%) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 24px 70px rgba(11, 16, 27, .26) !important;
}
.site-header .burger-menu .nav-dropdown-options a {
  background: #f3f6fb !important;
  opacity: 1 !important;
}
.site-header .burger-menu .nav-dropdown-options a:hover,
.site-header .burger-menu .nav-dropdown-options a:focus {
  background: #e8eef8 !important;
  opacity: 1 !important;
}
/* Le voile de page reste désactivé : l'opacité est portée par le panneau du menu lui-même. */
.burger-backdrop,
body.burger-menu-open .burger-backdrop {
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* === DERATIX - OPACITE 90% DU FOND DU PANNEAU BURGER ===
   Cible reel: .site-header .burger-menu.open .nav-dropdown-options
   0.10 = 10% d'opacite blanche, donc environ 90% de transparence.
   Les liens restent opaques ci-dessous.
*/
html body .site-header .burger-menu.open .nav-dropdown-options,
html body .site-header .burger-menu:focus-within .nav-dropdown-options {
  background: rgba(255, 255, 255, 0.10) !important;
  -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
  backdrop-filter: blur(22px) saturate(145%) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  box-shadow: 0 24px 70px rgba(11, 16, 27, 0.30) !important;
}
html body .site-header .burger-menu .nav-dropdown-options a {
  background: #f3f6fb !important;
  color: var(--primary, #2c4473) !important;
  opacity: 1 !important;
}
html body .site-header .burger-menu .nav-dropdown-options a:hover,
html body .site-header .burger-menu .nav-dropdown-options a:focus {
  background: #e8eef8 !important;
  opacity: 1 !important;
}

/* Pages service × commune : hero compact et aligné avec les pages localités */
.service-local-hero{
  min-height:auto !important;
  padding-top:56px !important;
  padding-bottom:44px !important;
}
.service-local-hero + #service-local{
  padding-top:34px !important;
}
.service-local-hero h1{
  font-size:clamp(2.35rem,5vw,4.65rem);
}


.social-links .whatsapp-icon-link,
.social-links .review-link {
  margin-left: 0;
}

.social-links .review-link {
  min-height: 48px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(242, 243, 244, 0.06);
  color: var(--light);
  text-decoration: none;
  font-weight: 800;
}

.social-links .review-link:hover,
.social-links .whatsapp-icon-link:hover {
  transform: translateY(-2px);
}

.social-links .social-emoji {
  line-height: 1;
  font-size: 1.25rem;
}


.footer-links{display:flex;justify-content:center;gap:10px 18px;flex-wrap:wrap;margin-top:8px;}
.footer-links a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;}
.footer-links a:hover{color:var(--accent,#cd3318);}


/* ==========================================================
   DERATIX — Thème unifié carte de visite / site
   Palette : bleu #304a78, rouge #d63a31, clair #f2f3f4
   ========================================================== */
:root{
  --primary:#304a78 !important;
  --primary-2:#263c66 !important;
  --contrast:#d63a31 !important;
  --dark:#17243d !important;
  --ink:#1b2540 !important;
  --light:#f2f3f4 !important;
  --page:#f2f3f4 !important;
  --muted:#5f6d86 !important;
  --border:rgba(48,74,120,.18) !important;
  --card:#ffffff !important;
  --radius-lg:28px;
  --shadow-soft:0 22px 55px rgba(22,36,66,.12);
}
html{background:var(--page)!important;}
body{
  background:var(--page)!important;
  color:var(--ink)!important;
  font-family:Arial, Helvetica, sans-serif!important;
}
p, li, small, .form-note{color:var(--muted)!important;}
a{color:inherit;}
.site-header{
  background:#fff!important;
  border-bottom:1px solid rgba(48,74,120,.12)!important;
  box-shadow:0 8px 28px rgba(48,74,120,.08)!important;
}
.logo img{height:58px!important; max-width:260px!important; object-fit:contain;}
.nav-cta,.button.primary,.tool-button.primary,.form-choice input:checked + span{
  background:var(--contrast)!important;
  color:#fff!important;
  border-color:var(--contrast)!important;
  box-shadow:0 12px 26px rgba(214,58,49,.20)!important;
}
.button.secondary,.tool-button.secondary,.tool-button.ghost,.facebook-icon-link,.language-button{
  background:var(--primary)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
.button,.nav-cta,.tool-button{
  letter-spacing:.01em!important;
}
button, .button, .nav-cta, .tool-button{color:#fff!important;}
.hero{
  min-height:auto!important;
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.hero-content,.section-heading{max-width:820px!important;}
.eyebrow{
  color:var(--contrast)!important;
  letter-spacing:.14em!important;
}
h1,h2,h3,h4,h5,h6{color:var(--primary)!important;}
h1{letter-spacing:-.045em!important;}
h2{letter-spacing:-.035em!important;}
.hero-text{color:#485873!important;}
.hero-card,.card,.zone-box,.step,.contact-panel,.diagnostic-card,.tool-card,.admin-card,.content-card,.legal-card{
  background:#fff!important;
  color:var(--ink)!important;
  border:1px solid rgba(48,74,120,.16)!important;
  box-shadow:var(--shadow-soft)!important;
}
.hero-card h2,.hero-card h3,.card h2,.card h3,.zone-box h2,.zone-box h3,.step h3,.tool-card h2,.admin-card h2{color:var(--primary)!important;}
.hero-card p,.card p,.zone-box p,.step p,.tool-card p,.admin-card p{color:var(--muted)!important;}
.contact-panel{
  background:linear-gradient(145deg,var(--primary),var(--primary-2))!important;
  color:#fff!important;
  border:0!important;
}
.contact-panel h2,.contact-panel h3,.contact-panel p,.contact-panel label,.contact-panel small,.contact-panel .form-note{color:#fff!important;}
.contact-form{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.22)!important;
}
.contact-form input,.contact-form textarea,input,select,textarea{
  background:#fff!important;
  color:#18233d!important;
  border:1px solid rgba(48,74,120,.22)!important;
}
select option{color:#18233d!important;background:#fff!important;}
.contact-line{color:#fff!important;}
.nav-dropdown-options,.language-options{
  background:#fff!important;
  border:1px solid rgba(48,74,120,.15)!important;
  box-shadow:0 18px 40px rgba(22,36,66,.16)!important;
}
.nav-dropdown-options a,.language-options a{color:var(--primary)!important;}
.nav-dropdown-options a:hover,.language-options a:hover{background:rgba(48,74,120,.08)!important;color:var(--contrast)!important;}
.mobile-menu-toggle span{background:var(--primary)!important;}
.footer{
  background:#fff!important;
  border-top:1px solid rgba(48,74,120,.14)!important;
  color:var(--muted)!important;
  box-shadow:0 -8px 30px rgba(48,74,120,.05)!important;
}
.footer p{color:var(--muted)!important;}
.footer a,.footer-links a{
  color:var(--primary)!important;
  font-weight:800!important;
  margin:0 8px!important;
}
.footer a:hover,.footer-links a:hover{color:var(--contrast)!important;}
.footer-links{margin-top:8px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;align-items:center;}
.footer-links span{color:rgba(48,74,120,.35)!important;}
.breadcrumbs a{color:var(--primary)!important;font-weight:800!important;}
.pest-visual-card,.pest-card,.service-card{background:#fff!important;border-color:rgba(48,74,120,.15)!important;box-shadow:var(--shadow-soft)!important;}
.pest-card-title{color:var(--primary)!important;font-weight:800!important;}
table,.quote-table{background:#fff!important;color:var(--ink)!important;}
th{background:rgba(48,74,120,.08)!important;color:var(--primary)!important;}
td{color:var(--ink)!important;}
/* Pages juridiques */
.legal-main{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:60px 0 90px;}
.legal-hero{background:linear-gradient(145deg,var(--primary),var(--primary-2));color:#fff;border-radius:30px;padding:clamp(28px,5vw,54px);box-shadow:var(--shadow-soft);margin:30px 0;}
.legal-hero h1,.legal-hero p{color:#fff!important;}
.legal-card{padding:clamp(18px,3vw,30px);margin:18px 0;border-radius:24px;}
.legal-card h2{font-size:1.35rem!important;margin-bottom:12px!important;color:var(--primary)!important;letter-spacing:0!important;}
.legal-card ul{padding-left:22px;margin:10px 0;}
.legal-card li{margin:6px 0;}
/* Espace privé */
.admin-wrap,.admin-page{color:var(--ink)!important;}
.admin-top h1,.tool-header h1{color:var(--primary)!important;}
.pill{background:#fff!important;color:var(--primary)!important;border-color:rgba(48,74,120,.18)!important;}
.quote-preview{background:#fff!important;color:var(--ink)!important;border-color:rgba(48,74,120,.18)!important;}
.summary .box,.mail-actions{background:#fff!important;color:var(--ink)!important;border-color:rgba(48,74,120,.18)!important;box-shadow:0 10px 24px rgba(48,74,120,.08)!important;}
.summary strong{color:var(--primary)!important;}
@media(max-width:680px){
  .logo img{height:50px!important;}
  .hero{padding-top:46px!important;padding-bottom:52px!important;}
}
@media print{
  body,html{background:#fff!important;color:#111!important;}
  .footer{box-shadow:none!important;}
}



/* === DERATIX THEME TEST : header #eceded, fond blanc, blocs #eceded === */
:root{
  --deratix-blue:#334a78;
  --deratix-red:#d93632;
  --deratix-light:#eceded;
  --deratix-white:#ffffff;
  --deratix-text:#26344f;
  --deratix-muted:#5f6878;
  --deratix-border:rgba(51,74,120,.16);
  --deratix-shadow:0 18px 45px rgba(38,52,79,.10);
}

html,
body{
  background:#ffffff !important;
  color:var(--deratix-text) !important;
}

body::before,
body::after{
  background:#ffffff !important;
}

.site-header,
header.site-header,
.header,
.topbar,
.navbar{
  background:#eceded !important;
  color:var(--deratix-blue) !important;
  border-bottom:1px solid rgba(51,74,120,.12) !important;
  box-shadow:0 8px 26px rgba(51,74,120,.08) !important;
}

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

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

.button.secondary,
.btn.secondary,
.hero .button.secondary{
  background:#ffffff !important;
  color:var(--deratix-blue) !important;
  border:1px solid rgba(51,74,120,.22) !important;
}

main,
.page,
.wrapper,
.site-main{
  background:#ffffff !important;
}

.hero,
.pest-hero,
.section,
section,
.content-section{
  background:#ffffff !important;
}

.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{
  background:#eceded !important;
  color:var(--deratix-text) !important;
  border:1px solid rgba(51,74,120,.14) !important;
  box-shadow:var(--deratix-shadow) !important;
}

input,
select,
textarea{
  background:#ffffff !important;
  color:var(--deratix-text) !important;
  border:1px solid rgba(51,74,120,.24) !important;
}

input::placeholder,
textarea::placeholder{
  color:#7b8494 !important;
}

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

p,li,label,td,th,span{
  color:inherit;
}

.eyebrow,
.badge,
.pill{
  color:var(--deratix-red) !important;
  border-color:rgba(217,54,50,.22) !important;
  background:rgba(217,54,50,.07) !important;
}

.nav-dropdown-options,
.dropdown-menu{
  background:#eceded !important;
  border:1px solid rgba(51,74,120,.16) !important;
  box-shadow:0 18px 40px rgba(51,74,120,.12) !important;
}

.nav-dropdown-options a:hover,
.dropdown-menu a:hover{
  background:#ffffff !important;
  color:var(--deratix-red) !important;
}

footer,
.site-footer{
  background:#334a78 !important;
  color:#ffffff !important;
}

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

table{
  background:#ffffff !important;
  color:var(--deratix-text) !important;
}

th{
  background:#eceded !important;
  color:var(--deratix-blue) !important;
}

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

@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{
    display:none !important;
  }
}



/* === 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;
}

/* Correction mobile Deratix : le bloc contact ne doit pas depasser l'ecran. */
@media (max-width: 760px) {
  .contact-section,
  .contact-panel,
  .contact-form,
  .contact-form *,
  .form-grid,
  .form-choice {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .contact-section {
    width: min(100% - 24px, 1120px) !important;
    overflow-x: clip !important;
  }

  .contact-panel,
  .contact-form {
    width: 100% !important;
    overflow-x: clip !important;
  }

  .contact-panel {
    padding-left: clamp(16px, 5vw, 24px) !important;
    padding-right: clamp(16px, 5vw, 24px) !important;
  }

  .contact-form input,
  .contact-form select,
  .contact-form textarea,
  .contact-form button {
    width: 100% !important;
    max-width: 100% !important;
  }

  .contact-form .form-choice input[type="radio"] {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
}

/* Correction Deratix : lisibilite de l'outil d'identification. */
.page-identification .id-panel,
.page-identification .id-side {
  background: #ffffff !important;
  color: #172033 !important;
}

.page-identification .id-panel p,
.page-identification .id-side p,
.page-identification .id-panel li,
.page-identification .id-side li,
.page-identification .id-help,
.page-identification .id-lead,
.page-identification .id-muted,
.page-identification .score-row,
.page-identification .summary-box {
  color: #334155 !important;
}

.page-identification .id-panel h1,
.page-identification .id-panel h2,
.page-identification .id-side h2,
.page-identification #resultTitle,
.page-identification #questionTitle {
  color: #172033 !important;
}

.page-identification .id-option,
.page-identification .id-button.secondary,
.page-identification #backBtn,
.page-identification #copyBtn,
.page-identification #resultRestartBtn,
.page-identification #restartBtn {
  background: #ffffff !important;
  color: #334a78 !important;
  border-color: rgba(51, 74, 120, .24) !important;
}

.page-identification .id-option.selected {
  background: #fff2f1 !important;
  color: #172033 !important;
  border-color: #d93632 !important;
}

.page-identification .id-button.primary,
.page-identification #startBtn,
.page-identification #nextBtn,
.page-identification #contactBtn {
  background: #d93632 !important;
  color: #ffffff !important;
}
