/*
 Theme Name: DéchetPro Child
 Theme URI: https://dechetpro.fr
 Description: Child theme GeneratePress pour dechetpro.fr — base nettoyée.
 Author: Christophe
 Template: generatepress
 Version: 1.6.4-mobile-final
 Text Domain: dechetpro-child
*/

/* =========================================================
   dechetpro.fr — CSS NETTOYÉ V1.6.4 — Correctifs mobiles consolidés
   Base stable : Home + 4 pages services + formulaires + FAQ + menu mobile + pages géographiques.
   Nettoyage : CTA centralisés, suppression des ciblages URL, header sticky consolidé.
   ========================================================= */

/* =========================================================
   01. Variables globales
   ========================================================= */

:root {
  --dd-blue: #16324F;
  --dd-blue-dark: #10253A;
  --dd-blue-2: #10283F;
  --dd-blue-soft: #EAF0F4;
  --dd-orange: #FF7A00;
  --dd-orange-2: #E96F00;
  --dd-orange-readable: #E96F00;
  --dd-orange-text: #16324F;
  --dd-orange-action: #FF7A00;
  --dd-cta: var(--dd-orange-action);
  --dd-cta-hover: var(--dd-orange-2);
  --dd-green: #2E9E5B;
  --dd-green-dark: #237845;
  --dd-cream: #F7F5F1;
  --dd-bg: #FAFAF8;
  --dd-bg-warm: #F5F2EC;
  --dd-white: #FFFFFF;
  --dd-text: #2D3748;
  --dd-title: #151922;
  --dd-muted: #5F6673;
  --dd-border: #E5E7EB;
  --dd-radius: 16px;
  --dd-shadow: 0 18px 45px rgba(15, 23, 42, 0.10);
  --dd-shadow-lg: 0 24px 70px rgba(15, 23, 42, 0.12);

  --dp-blue: var(--dd-blue);
  --dp-blue-dark: var(--dd-blue-dark);
  --dp-blue-2: var(--dd-blue-2);
  --dp-orange: var(--dd-orange);
  --dp-orange-readable: var(--dd-orange-readable);
  --dp-orange-text: var(--dd-orange-text);
  --dp-orange-action: var(--dd-orange-action);
  --dp-orange-hover: var(--dd-cta-hover);
  --dp-green: var(--dd-green);
  --dp-bg: var(--dd-bg);
  --dp-bg-warm: var(--dd-bg-warm);
  --dp-white: var(--dd-white);
  --dp-text: var(--dd-text);
  --dp-title: var(--dd-title);
  --dp-muted: var(--dd-muted);
  --dp-border: var(--dd-border);
  --dp-radius: var(--dd-radius);
  --dp-shadow: var(--dd-shadow);
  --dp-heading-font: "Manrope", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body {
  color: var(--dp-text);
  background: var(--dp-bg);
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.gb-headline,
.gb-headline-text {
  font-family: var(--dp-heading-font) !important;
  letter-spacing: 0 !important;
}

h1,
.entry-content h1,
.gb-headline.dp-h1,
h2,
.entry-content h2,
.gb-headline.dp-h2 {
  font-weight: 800 !important;
}

h3,
.entry-content h3,
.gb-headline.dp-h3 {
  font-weight: 700 !important;
}

/* =========================================================
   02. Header / navigation
   ========================================================= */

.site-header {
  border-bottom: 0;
}

.site-logo img,
.site-branding img {
  height: auto;
  max-width: 250px;
}

@media (max-width: 768px) {
  .site-logo img,
  .site-branding img {
    max-width: 210px;
  }
}

/* Header : lien professionnel */
.main-navigation .main-nav ul li.dd-menu-pro > a,
.main-navigation .main-nav ul li.dp-menu-pro > a,
.main-navigation .main-nav ul li.menu-item-44027 > a,
.main-navigation .main-nav ul li.menu-item-44027 > a:visited,
.main-navigation .main-nav ul li.menu-item-44027 > a:hover,
.main-navigation .main-nav ul li.menu-item-44027.sfHover > a {
  color: #16324F !important;
  background: transparent !important;
  opacity: 1 !important;
  font-weight: 700;
}

.menu-item-44027 > a {
  display: inline-block;
  transition: all .2s ease;
}

.menu-item-44027 > a:hover {
  transform: translateY(-1px);
  opacity: .80 !important;
}

/* Header : CTA orange */
.main-navigation .main-nav ul li.dd-menu-cta > a,
.main-navigation .main-nav ul li.dp-menu-cta > a,
.slideout-navigation .main-nav ul li.dd-menu-cta > a,
.slideout-navigation .main-nav ul li.dp-menu-cta > a {
  background: var(--dp-orange-action) !important;
  color: var(--dp-blue-dark) !important;
  border-radius: 10px;
  font-weight: 800;
  line-height: 1.2;
  padding: 13px 20px;
  margin-left: 16px;
  box-shadow: 0 10px 24px rgba(255, 122, 0, 0.24);
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.main-navigation .main-nav ul li.dd-menu-cta:hover > a,
.main-navigation .main-nav ul li.dd-menu-cta.sfHover > a,
.main-navigation .main-nav ul li.dp-menu-cta:hover > a,
.main-navigation .main-nav ul li.dp-menu-cta.sfHover > a,
.slideout-navigation .main-nav ul li.dd-menu-cta:hover > a,
.slideout-navigation .main-nav ul li.dp-menu-cta:hover > a {
  background: var(--dp-orange-hover) !important;
  color: var(--dp-blue-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(255, 122, 0, 0.30);
}

/* Menu secondaire services */
body .secondary-navigation,
body .secondary-navigation .inside-navigation {
  background: #16324F !important;
  min-height: 44px !important;
}

body .secondary-navigation .main-nav ul li > a,
body .secondary-navigation .main-nav ul li > a:visited,
body .secondary-navigation .menu-toggle {
  color: #FFFFFF !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 44px !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body .secondary-navigation .main-nav ul li > a:hover,
body .secondary-navigation .main-nav ul li.sfHover > a,
body .secondary-navigation .main-nav ul li[class*="current-menu-"] > a {
  color: #FFFFFF !important;
  background: rgba(255,255,255,.10) !important;
}

@media (max-width: 768px) {
  .secondary-navigation,
  #secondary-navigation {
    display: none !important;
  }

  .main-navigation .main-nav ul li.dd-menu-cta > a,
  .main-navigation .main-nav ul li.dp-menu-cta > a,
  .slideout-navigation .main-nav ul li.dd-menu-cta > a,
  .slideout-navigation .main-nav ul li.dp-menu-cta > a {
    margin: 12px 16px;
    text-align: center;
    display: block;
  }
}

@media (min-width: 769px) {
  .secondary-navigation,
  #secondary-navigation {
    display: block !important;
  }
}

/* =========================================================
   03. Menu mobile / hamburger
   ========================================================= */

/* Bouton hamburger */
.site-header .menu-toggle,
.main-navigation .menu-toggle,
.mobile-menu-control-wrapper .menu-toggle {
  background-color: var(--dp-orange-action) !important;
  color: var(--dp-blue-dark) !important;
  border-radius: 10px !important;
  border: none !important;
  box-shadow: none !important;
}

.site-header .menu-toggle:hover,
.site-header .menu-toggle:focus,
.main-navigation .menu-toggle:hover,
.main-navigation .menu-toggle:focus,
.mobile-menu-control-wrapper .menu-toggle:hover,
.mobile-menu-control-wrapper .menu-toggle:focus {
  background-color: var(--dp-orange-action) !important;
  color: var(--dp-blue-dark) !important;
  opacity: 1 !important;
}

.menu-toggle .gp-icon,
.menu-toggle svg,
.menu-toggle .icon-menu-bars {
  color: var(--dp-blue-dark) !important;
  fill: var(--dp-blue-dark) !important;
}

/* Menu mobile premium validé */
@media (max-width: 1024px) {
  .slideout-navigation {
    background: #16324F !important;
  }

  .slideout-navigation .inside-navigation {
    padding: 14px 30px 36px !important;
  }

  .slideout-navigation .main-nav {
    padding: 0 !important;
  }

  .slideout-navigation .main-nav ul {
    background: transparent !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .slideout-navigation .main-nav li {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .slideout-navigation .slideout-exit {
    color: #ffffff !important;
    font-size: 34px !important;
    line-height: 1 !important;
    padding: 0 0 30px 0 !important;
    text-align: left !important;
    background: transparent !important;
  }

  .slideout-navigation .slideout-exit:hover {
    color: #FF7A00 !important;
    background: transparent !important;
  }

  .slideout-navigation .main-nav .menu-mobile-heading {
    margin: 0 0 26px 0 !important;
  }

  .slideout-navigation .main-nav .menu-mobile-separator {
    margin-top: 30px !important;
  }

  .slideout-navigation .main-nav .menu-mobile-heading > a {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
    text-transform: none !important;
    line-height: 1.2 !important;
    padding: 0 0 14px 0 !important;
    pointer-events: none !important;
    cursor: default !important;
    background: transparent !important;
  }

  .slideout-navigation .main-nav .menu-mobile-heading > a::before {
    content: "";
    display: inline-block;
    width: 18px;
    height: 3px;
    background: #FF7A00;
    border-radius: 99px;
    flex: 0 0 auto;
  }

  .slideout-navigation .main-nav .menu-mobile-heading .dropdown-menu-toggle,
  .slideout-navigation .main-nav .menu-mobile-heading > a .dropdown-menu-toggle {
    display: none !important;
  }

  .slideout-navigation .main-nav .menu-mobile-heading > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    height: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 0 0 34px !important;
    background: transparent !important;
    box-shadow: none !important;
    left: auto !important;
    top: auto !important;
    float: none !important;
  }

  .slideout-navigation .main-nav .sub-menu li {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  .slideout-navigation .main-nav .menu-mobile-heading > .sub-menu > li > a {
    color: #ffffff !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    padding: 8px 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    background: transparent !important;
  }

  .slideout-navigation .main-nav .menu-mobile-heading > .sub-menu > li > a:hover {
    color: #FF7A00 !important;
    background: transparent !important;
  }

  .slideout-navigation .main-nav .menu-mobile-heading:nth-of-type(2) > .sub-menu > li > a {
    font-weight: 800 !important;
  }

  .slideout-navigation .main-nav ul li[class*="current-menu-"] > a,
  .slideout-navigation .main-nav ul li[class*="current_page_"] > a {
    color: #FF7A00 !important;
    background: transparent !important;
  }

  .slideout-navigation .main-nav ul li a,
  .slideout-navigation .main-nav ul ul li a {
    background: transparent !important;
  }
}

/* =========================================================
   04. Home / recherche
   ========================================================= */

.dp-page-home,
.dd-home-v3 {
  background:#fff;
  color:#263246;
}

.dp-page-home :where(h1,h2,h3),
.dd-home-v3 :where(h1,h2,h3) {
  text-wrap: balance;
}

.dp-page-home :where(p),
.dd-home-v3 :where(p) {
  text-wrap: pretty;
}

.dp-page-home .gb-element-dp-home-herogrid,
.dd-home-v3 .gb-element-ddv3-herogrid {
  align-items: center !important;
}

.dp-page-home .gb-element-dp-home-visual,
.dd-home-v3 .gb-element-ddv3-visual {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dp-page-home .gb-media-dp-home-img1,
.dd-home-v3 .gb-media-ddv3-img1 {
  display: block !important;
  width: 100% !important;
  max-width: 520px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 24px !important;
  box-shadow: 0 26px 70px rgba(22,50,79,.18) !important;
}

@media (max-width:1024px) {
  .dp-page-home .gb-element-dp-home-visual,
  .dd-home-v3 .gb-element-ddv3-visual {
    display: none !important;
  }
}

/* Recherche Hero */
.dp-search-wrap,
.dd-v4-search-wrap,
.dp-page-home .gb-element-dp-home-searchwrap,
.dd-home-v3 .gb-element-ddv4-searchwrap {
  position: relative !important;
  overflow: visible !important;
  z-index: 50 !important;
}

.dp-search-box,
.dd-v4-search-box,
.dp-page-home .gb-element-dp-home-searchbox,
.dd-home-v3 .gb-element-ddv4-searchbox {
  position: relative !important;
  z-index: 3 !important;
}

.dp-search-dropdown,
.dd-v4-search-dropdown,
.dp-page-home .gb-element-dp-home-dropdown,
.dd-home-v3 .gb-element-ddv4-dropdown {
  display: none !important;
  position: absolute !important;
  top: calc(100% + 5px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 80 !important;
  max-height: 320px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: #fff !important;
  border: 1px solid #E7EBEF !important;
  border-radius: 18px !important;
  box-shadow: 0 24px 60px rgba(15,23,42,.16) !important;
}

.dp-search-wrap:hover .dp-search-dropdown,
.dp-search-wrap:focus-within .dp-search-dropdown,
.dd-v4-search-wrap:hover .dd-v4-search-dropdown,
.dd-v4-search-wrap:focus-within .dd-v4-search-dropdown,
.dp-page-home .gb-element-dp-home-searchwrap:hover .gb-element-dp-home-dropdown,
.dp-page-home .gb-element-dp-home-searchwrap:focus-within .gb-element-dp-home-dropdown,
.dd-home-v3 .gb-element-ddv4-searchwrap:hover .gb-element-ddv4-dropdown,
.dd-home-v3 .gb-element-ddv4-searchwrap:focus-within .gb-element-ddv4-dropdown {
  display: block !important;
}

.dp-search-item:hover,
.dp-search-item:focus,
.dd-v4-dd-item:hover,
.dd-v4-dd-item:focus {
  background: #FFF4EA !important;
  color: #16324F !important;
}

/* Mini-cartes services Home */
.dp-service-img,
.ddv3-service-img {
  width: 42px !important;
  height: 34px !important;
  flex: 0 0 42px !important;
  display: inline-block !important;
  border-radius: 9px !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.35) !important;
}

.dp-page-home .gb-element-dp-home-proof span::first-letter,
.dd-home-v3 .gb-element-ddv3-proof span::first-letter {
  color: var(--dp-orange-readable) !important;
  font-weight: 950 !important;
}

/* Cartes Home */
.gb-element-dp-home-trust1,
.gb-element-dp-home-trust2,
.gb-element-dp-home-trust3,
.gb-element-dp-home-trust4,
.gb-element-dp-home-step1,
.gb-element-dp-home-step2,
.gb-element-dp-home-step3,
.gb-element-dp-home-other1,
.gb-element-dp-home-other2,
.gb-element-dp-home-other3,
.gb-element-dp-home-other4 {
  transition: transform .2s ease, box-shadow .2s ease;
}

.gb-element-dp-home-trust1:hover,
.gb-element-dp-home-trust2:hover,
.gb-element-dp-home-trust3:hover,
.gb-element-dp-home-trust4:hover,
.gb-element-dp-home-step1:hover,
.gb-element-dp-home-step2:hover,
.gb-element-dp-home-step3:hover,
.gb-element-dp-home-other1:hover,
.gb-element-dp-home-other2:hover,
.gb-element-dp-home-other3:hover,
.gb-element-dp-home-other4:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 48px rgba(15,23,42,.10) !important;
}



/* =========================================================
   04.1 Home — correctif définitif du fond Hero
   Supprime la dominante orangée sans modifier la structure.
   ========================================================= */

body.home .dd-home-v3 > .gb-element-ddv3-hero,
body.home .gb-element-ddv3-root.dd-home-v3 > .gb-element-ddv3-hero,
.dd-home-v3 > .gb-element-ddv3-hero {
  background-color: #ffffff !important;
  background-image: linear-gradient(
    135deg,
    #ffffff 0%,
    #f8fafc 58%,
    #eef3f7 100%
  ) !important;
}

/* Le halo derrière les deux visuels devient bleu-gris, sans orange. */
body.home .dd-home-v3 .dp-home-hero-visual::before,
.dd-home-v3 .dp-home-hero-visual::before {
  background:
    radial-gradient(
      circle at 58% 42%,
      rgba(22, 50, 79, .10) 0%,
      rgba(22, 50, 79, 0) 46%
    ),
    linear-gradient(
      135deg,
      rgba(22, 50, 79, .055),
      rgba(22, 50, 79, 0)
    ) !important;
}

/* Sécurité contre un ancien fond ou overlay GenerateBlocks mis en cache. */
body.home .dd-home-v3 > .gb-element-ddv3-hero::before,
body.home .dd-home-v3 > .gb-element-ddv3-hero::after {
  background: transparent !important;
}

/* =========================================================
   05. CTA communs / boutons / cards génériques
   ========================================================= */

/*
   Règle V1.6 :
   - Les vrais boutons utilisent des classes dédiées.
   - Ne jamais styliser une URL globale comme /referencer-mon-entreprise/.
   - Le footer conserve des liens texte simples.
*/

.dp-cta,
a.dp-cta,
.gb-text.dp-cta,
.dd-button-primary,
a.dd-button-primary,
.dp-button-primary,
a.dp-button-primary,
.gb-text-dpr1-cta,
.gb-text-dpr1-ctabtn,
.gb-text-dpv1-cta,
.gb-text-dpv1-infobtn,
.gb-text-dpv1-ctabtn,
.gb-text-dpr1-cta2,
.gb-text-dpr1-providerbtn,
.gb-text-dpr1-ctabtn2,
.gb-text-dpv17-providerbtn,
a.dp-cta-blue,
.gb-text.dp-cta-blue {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 15px 26px !important;
  border-radius: 12px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  text-decoration: none !important;
  transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

/* CTA orange : demande de devis */
.dp-cta-primary,
a.dp-cta-primary,
.gb-text.dp-cta-primary,
.dd-button-primary,
a.dd-button-primary,
.dp-button-primary,
a.dp-button-primary,
.gb-text-dpr1-cta,
.gb-text-dpr1-ctabtn,
.gb-text-dpv1-cta,
.gb-text-dpv1-infobtn,
.gb-text-dpv1-ctabtn {
  background: var(--dp-orange-action) !important;
  color: #FFFFFF !important;
  box-shadow: 0 12px 28px rgba(255, 122, 0, .28) !important;
}

.dp-cta-primary:visited,
a.dp-cta-primary:visited,
.gb-text.dp-cta-primary:visited,
.dd-button-primary:visited,
a.dd-button-primary:visited,
.dp-button-primary:visited,
a.dp-button-primary:visited,
.gb-text-dpr1-cta:visited,
.gb-text-dpr1-ctabtn:visited,
.gb-text-dpv1-cta:visited,
.gb-text-dpv1-infobtn:visited,
.gb-text-dpv1-ctabtn:visited {
  color: #FFFFFF !important;
}

.dp-cta-primary:hover,
.dp-cta-primary:focus,
.dp-cta-primary:active,
a.dp-cta-primary:hover,
a.dp-cta-primary:focus,
a.dp-cta-primary:active,
.gb-text.dp-cta-primary:hover,
.gb-text.dp-cta-primary:focus,
.gb-text.dp-cta-primary:active,
.dd-button-primary:hover,
.dd-button-primary:focus,
.dd-button-primary:active,
a.dd-button-primary:hover,
a.dd-button-primary:focus,
a.dd-button-primary:active,
.dp-button-primary:hover,
.dp-button-primary:focus,
.dp-button-primary:active,
a.dp-button-primary:hover,
a.dp-button-primary:focus,
a.dp-button-primary:active,
.gb-text-dpr1-cta:hover,
.gb-text-dpr1-cta:focus,
.gb-text-dpr1-cta:active,
.gb-text-dpr1-ctabtn:hover,
.gb-text-dpr1-ctabtn:focus,
.gb-text-dpr1-ctabtn:active,
.gb-text-dpv1-cta:hover,
.gb-text-dpv1-cta:focus,
.gb-text-dpv1-cta:active,
.gb-text-dpv1-infobtn:hover,
.gb-text-dpv1-infobtn:focus,
.gb-text-dpv1-infobtn:active,
.gb-text-dpv1-ctabtn:hover,
.gb-text-dpv1-ctabtn:focus,
.gb-text-dpv1-ctabtn:active {
  background: var(--dp-orange-hover) !important;
  color: #FFFFFF !important;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(255, 122, 0, .34) !important;
}

/* CTA bleu : référencement entreprise */
.dp-cta-secondary,
a.dp-cta-secondary,
.gb-text.dp-cta-secondary,
.dp-cta-blue,
a.dp-cta-blue,
.gb-text.dp-cta-blue,
.gb-text-dpr1-cta2,
.gb-text-dpr1-providerbtn,
.gb-text-dpr1-ctabtn2,
.gb-text-dpv17-providerbtn {
  background: var(--dp-blue) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 28px rgba(22, 50, 79, .20) !important;
}

.dp-cta-secondary:visited,
a.dp-cta-secondary:visited,
.gb-text.dp-cta-secondary:visited,
.dp-cta-blue:visited,
a.dp-cta-blue:visited,
.gb-text.dp-cta-blue:visited,
.gb-text-dpr1-cta2:visited,
.gb-text-dpr1-providerbtn:visited,
.gb-text-dpr1-ctabtn2:visited,
.gb-text-dpv17-providerbtn:visited {
  color: #ffffff !important;
}

.dp-cta-secondary:hover,
.dp-cta-secondary:focus,
.dp-cta-secondary:active,
a.dp-cta-secondary:hover,
a.dp-cta-secondary:focus,
a.dp-cta-secondary:active,
.gb-text.dp-cta-secondary:hover,
.gb-text.dp-cta-secondary:focus,
.gb-text.dp-cta-secondary:active,
.dp-cta-blue:hover,
.dp-cta-blue:focus,
.dp-cta-blue:active,
a.dp-cta-blue:hover,
a.dp-cta-blue:focus,
a.dp-cta-blue:active,
.gb-text.dp-cta-blue:hover,
.gb-text.dp-cta-blue:focus,
.gb-text.dp-cta-blue:active,
.gb-text-dpr1-cta2:hover,
.gb-text-dpr1-cta2:focus,
.gb-text-dpr1-cta2:active,
.gb-text-dpr1-providerbtn:hover,
.gb-text-dpr1-providerbtn:focus,
.gb-text-dpr1-providerbtn:active,
.gb-text-dpr1-ctabtn2:hover,
.gb-text-dpr1-ctabtn2:focus,
.gb-text-dpr1-ctabtn2:active,
.gb-text-dpv17-providerbtn:hover,
.gb-text-dpv17-providerbtn:focus,
.gb-text-dpv17-providerbtn:active {
  background: #102942 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(22, 50, 79, .28) !important;
}

/* Liens texte secondaires */
.dd-button-secondary,
a.dd-button-secondary {
  color: var(--dp-blue) !important;
  font-weight: 850;
  text-decoration: none !important;
}

.dd-orange-link,
a.dd-orange-link {
  color: var(--dp-orange-text) !important;
  font-weight: 850;
  text-decoration-line: underline !important;
  text-decoration-color: var(--dp-orange) !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 4px !important;
}

.dd-orange-link:hover,
a.dd-orange-link:hover {
  color: var(--dp-blue-dark) !important;
  text-decoration-thickness: 3px !important;
}

.dd-card-white {
  background: #ffffff;
  border: 1px solid var(--dp-border);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(15,23,42,.06);
}

/* Solutions Home */
.dd-solutions-premium-grid .dd-solution-card,
.dd-solution-card {
  border-radius: 16px !important;
  overflow: hidden !important;
  min-height: 260px !important;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
  box-shadow: 0 14px 32px rgba(15,23,42,.10) !important;
}

.dd-solutions-premium-grid .dd-solution-card::before,
.dd-solution-card::before {
  background-size: cover !important;
  background-position: center center !important;
  transform: scale(1.01);
  transition: transform .45s ease, filter .45s ease !important;
}

.dd-solutions-premium-grid .dd-solution-card:hover,
.dd-solution-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 24px 46px rgba(15,23,42,.18) !important;
}

.dd-solutions-premium-grid .dd-solution-card:hover::before,
.dd-solution-card:hover::before {
  transform: scale(1.08);
  filter: saturate(1.08) contrast(1.05);
}

.dd-solutions-premium-grid .dd-solution-card h3,
.dd-solution-card h3 {
  text-shadow: 0 3px 18px rgba(0,0,0,.55) !important;
}

@media (max-width: 767px) {
  .dd-solutions-premium-grid .dd-solution-card,
  .dd-solution-card {
    min-height: 210px !important;
  }
}

/* =========================================================
   06. Pages services — structure commune validée
   ========================================================= */

body .dp-service-page,
.dp-page-location-benne,
.dp-page-debarras,
.dp-page-dechets-entreprises,
.dp-page-biodechets {
  --dp-blue: #16324F;
  --dp-blue-dark: #10283F;
  --dp-orange: #FF7A00;
  --dp-orange-hover: #E86E00;
  --dp-green: #2E9E5B;
  --dp-border-soft: #EEF1F4;
  --dp-text: #374151;
  --dp-muted: #5F6673;
}

body .dp-service-page :where(h1, h2, h3) {
  text-wrap: balance;
}

body .dp-service-page :where(p) {
  text-wrap: pretty;
}

/* Eyebrow Hero */
body .dp-service-page header p[class*="-ey"] {
  color: var(--dp-orange-text) !important;
  border-left: 3px solid var(--dp-orange) !important;
  padding-left: 8px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

/* Hero services — version commune 4 pages */
@media (min-width: 1025px) {
  .dp-service-page > header[class*="hero"] {
    padding-top: 5.5rem !important;
    padding-bottom: 5.5rem !important;
  }

  .dp-service-page > header[class*="hero"] > div[class*="herowrap"] {
    max-width: 1220px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible !important;
  }

  .dp-service-page > header[class*="hero"] div[class*="herogrid"] {
    display: grid !important;
    grid-template-columns: minmax(0, 700px) minmax(0, 430px) !important;
    column-gap: 90px !important;
    row-gap: 48px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .dp-service-page > header[class*="hero"] div[class*="left"] {
    width: 100% !important;
    max-width: 700px !important;
  }

  .dp-service-page > header[class*="hero"] h1.gb-text {
    max-width: 700px !important;
    color: var(--dp-blue) !important;
    font-size: clamp(46px, 3.55vw, 58px) !important;
    line-height: 1.03 !important;
    letter-spacing: -0.045em !important;
    margin-bottom: 1.35rem !important;
  }

  .dp-page-dechets-entreprises > header[class*="hero"] h1.gb-text,
  .dp-page-biodechets > header[class*="hero"] h1.gb-text {
    letter-spacing: -0.04em !important;
  }

  .dp-service-page > header[class*="hero"] h1.gb-text + p.gb-text,
  .dp-service-page > header[class*="hero"] p[class*="-p"] {
    max-width: 660px !important;
    font-size: 18px !important;
    line-height: 1.68 !important;
  }

  .dp-service-page > header[class*="hero"] div[class*="proof"] {
    gap: 18px !important;
    margin-top: 1.15rem !important;
  }

  .dp-service-page > header[class*="hero"] div[class*="visual"] {
    display: block !important;
    position: relative !important;
    width: 430px !important;
    height: 380px !important;
    min-width: 430px !important;
    max-width: 430px !important;
    min-height: 380px !important;
    max-height: 380px !important;
    overflow: visible !important;
    justify-self: center !important;
  }

  .dp-page-location-benne img.gb-media-lbv2-img,
  .dp-page-debarras img.gb-media-debv2-img,
  .dp-page-dechets-entreprises img.gb-media-dpde-img,
  .dp-page-biodechets img.gb-media-dpbio-img {
    display: block !important;
    flex: none !important;
    width: 380px !important;
    height: 380px !important;
    min-width: 380px !important;
    max-width: 380px !important;
    min-height: 380px !important;
    max-height: 380px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    border-radius: 24px !important;
    box-shadow: 0 26px 70px rgba(22,50,79,.18) !important;
  }

  .dp-service-page > header[class*="hero"] .dp-service-hero-badges {
    position: absolute !important;
    top: 50% !important;
    right: -18px !important;
    transform: translateY(-50%) !important;
    width: 178px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 4 !important;
  }

  .dp-service-page > header[class*="hero"] .dp-service-hero-badge {
    width: 178px !important;
    min-height: 82px !important;
    padding: 16px 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    background: rgba(255,255,255,.98) !important;
    border: 1px solid rgba(22,50,79,.07) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 44px rgba(15,23,42,.15) !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .dp-service-page > header[class*="hero"] .dp-service-hero-badge:nth-child(2) {
    transform: translateX(16px) !important;
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .dp-service-page > header[class*="hero"] > div[class*="herowrap"] {
    max-width: 1120px !important;
  }

  .dp-service-page > header[class*="hero"] div[class*="herogrid"] {
    grid-template-columns: minmax(0, 630px) minmax(0, 410px) !important;
    column-gap: 70px !important;
  }

  .dp-service-page > header[class*="hero"] div[class*="left"],
  .dp-service-page > header[class*="hero"] h1.gb-text {
    max-width: 630px !important;
  }

  .dp-service-page > header[class*="hero"] h1.gb-text {
    font-size: clamp(44px, 4vw, 56px) !important;
  }

  .dp-service-page > header[class*="hero"] div[class*="visual"] {
    width: 410px !important;
    min-width: 410px !important;
    max-width: 410px !important;
  }
}

/* Texte + icônes des mini-cards Hero */
.dp-service-page .dp-service-hero-badge-text {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  color: #16324F !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
  text-align: left !important;
  position: relative !important;
}

.dp-service-page .dp-service-hero-badge-text::before {
  content: "" !important;
  position: static !important;
  display: block !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 999px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 21px 21px !important;
  transform: none !important;
}

.dp-service-page .dp-service-hero-badge:nth-child(1) .dp-service-hero-badge-text::before,
.dp-service-page .dp-service-hero-badge:nth-child(3) .dp-service-hero-badge-text::before {
  background-color: #EAF8F0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M20 7 9 18l-5-5' stroke='%232E9E5B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.dp-service-page .dp-service-hero-badge:nth-child(2) .dp-service-hero-badge-text::before {
  background-color: #FFF4EA !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='9' cy='8' r='3' stroke='%23FF7A00' stroke-width='2.4'/%3E%3Ccircle cx='17' cy='9' r='2.4' stroke='%23FF7A00' stroke-width='2.2'/%3E%3Cpath d='M3.8 19c1-3.4 3.1-5.1 6.2-5.1 3.2 0 5.3 1.7 6.2 5.1' stroke='%23FF7A00' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M14.5 15c2.6.3 4.3 1.7 5.2 4' stroke='%23FF7A00' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

@media (max-width: 1024px) {
  .dp-service-page > header[class*="hero"] div[class*="herogrid"] {
    grid-template-columns: 1fr !important;
  }

  .dp-service-page > header[class*="hero"] div[class*="visual"] {
    display: none !important;
  }
}

/* =========================================================
   07. Pages services — cartes internes et icônes SVG
   ========================================================= */

/* Lignes checks dans les sections formulaires */
body .dp-service-page .dp-form-check-line,
body .dp-service-page .dd-form-check-line,
.dp-page-location-benne .dp-form-check-line,
.dp-page-debarras .dp-form-check-line,
.dp-page-dechets-entreprises .dp-form-check-line,
.dp-page-biodechets .dp-form-check-line {
  color: rgba(255,255,255,.92) !important;
  font-size: 16px !important;
  font-weight: 850 !important;
  letter-spacing: -.01em !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  padding-left: 0 !important;
  position: relative !important;
}

body .dp-service-page .dp-form-check-line::first-letter,
body .dp-service-page .dd-form-check-line::first-letter,
.dp-page-location-benne .dp-form-check-line::first-letter,
.dp-page-debarras .dp-form-check-line::first-letter,
.dp-page-dechets-entreprises .dp-form-check-line::first-letter,
.dp-page-biodechets .dp-form-check-line::first-letter {
  color: var(--dp-orange) !important;
  font-weight: 950 !important;
}

/* Cartes icône + titre + texte */
body .dp-service-page .dp-service-icon-card-inline {
  align-items: center !important;
  column-gap: 18px !important;
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  padding: 30px 28px !important;
  position: relative !important;
  row-gap: 10px !important;
}

body .dp-service-page .dp-service-icon-card-icon {
  grid-column: 1 !important;
  grid-row: 1 !important;
  height: 52px !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  margin: 0 !important;
  position: static !important;
  transform: none !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body .dp-service-page .dp-service-icon-card-title {
  align-self: center !important;
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 0 !important;
}

body .dp-service-page .dp-service-icon-card-text {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  margin: 2px 0 0 !important;
}

/* SVG icons : jamais géants */
body .dp-service-page .dp-icon-wrap {
  font-size: 0 !important;
  line-height: 0 !important;
}

body .dp-service-page .dp-icon-wrap .dp-svg-icon {
  display: block !important;
  width: 26px !important;
  height: 26px !important;
  max-width: 26px !important;
  max-height: 26px !important;
  background-color: currentColor !important;
  -webkit-mask: var(--dp-svg-icon) center / contain no-repeat !important;
  mask: var(--dp-svg-icon) center / contain no-repeat !important;
}

body .dp-service-page .dp-service-icon-card-icon.dp-icon-wrap .dp-svg-icon {
  width: 25px !important;
  height: 25px !important;
}

body .dp-service-page .dp-icon-wrap svg,
body .dp-service-page .dp-service-icon-card-icon svg {
  width: 26px !important;
  height: 26px !important;
  max-width: 26px !important;
  max-height: 26px !important;
  display: block !important;
}

/* Icônes courantes */
body .dp-service-page .dp-svg-icon-brick { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h16v10H4z'/%3E%3Cpath d='M4 13h16M9 8v5M15 8v5M12 13v5'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-leaf { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 4C12 4 6 8.5 6 15.5A4.5 4.5 0 0 0 10.5 20C17.5 20 20 12 20 4Z'/%3E%3Cpath d='M4 20c4-6 8-9 14-12'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-sofa { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 11V8.5A2.5 2.5 0 0 1 8.5 6h7A2.5 2.5 0 0 1 18 8.5V11'/%3E%3Cpath d='M5 12h14a2 2 0 0 1 2 2v4H3v-4a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M5 18v2M19 18v2'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-building { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 20V5a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1v15'/%3E%3Cpath d='M16 9h2a1 1 0 0 1 1 1v10'/%3E%3Cpath d='M8 8h4M8 12h4M8 16h4M3 20h18'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-house { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11.5 12 4l9 7.5'/%3E%3Cpath d='M5.5 10.5V20h13v-9.5'/%3E%3Cpath d='M10 20v-5h4v5'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-apartment { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 20V4h12v16'/%3E%3Cpath d='M9 8h2M13 8h2M9 12h2M13 12h2M10 20v-4h4v4M4 20h16'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-document { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h7l4 4v14H7z'/%3E%3Cpath d='M14 3v5h5M10 12h6M10 16h6'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-shop { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h16l-1.5-5h-13z'/%3E%3Cpath d='M5 10v10h14V10M9 20v-5h6v5'/%3E%3Cpath d='M4 10c.5 2 3 2 4 0 1 2 3 2 4 0 1 2 3 2 4 0 1 2 3.5 2 4 0'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-box { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7.5 12 3l8 4.5v9L12 21l-8-4.5z'/%3E%3Cpath d='M4 7.5 12 12l8-4.5M12 12v9'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-recycle { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 7 2-3 2 3M10 4c2.5 0 4.5 1 5.8 3.2M18 12l3 1-2 2.6M21 13c-.8 2.4-2.6 4-5.2 4.5M7 18l-3-.4 1.4-3M4 17.6c-1-2.4-.6-4.8 1-6.8'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-volume { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8V4h4M20 8V4h-4M4 16v4h4M20 16v4h-4M8 4 4 8m12-4 4 4M4 16l4 4M20 16l-4 4'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-truck { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7z'/%3E%3Cpath d='M6.5 19a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM17.5 19a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-factory { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V9l5 3V8l5 4V5h4v15z'/%3E%3Cpath d='M8 16h2M13 16h2M18 16h2'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-plate { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='7'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3v7M21 3v18M3 10c1.2 0 2-.8 2-2V3'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-food { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 21c4.5-3 7.5-6.5 9-11'/%3E%3Cpath d='M18 4c-6 0-10 3.5-10 8.5A4.5 4.5 0 0 0 12.5 17C17 17 20 12 20 4Z'/%3E%3Cpath d='M5 13c-1.5-1-2-2.5-1.5-4.5'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-cutlery { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3v8M4.5 3v4.5a2.5 2.5 0 0 0 5 0V3M7 11v10M17 3v18M14.5 3h5L17 10h-2.5z'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-regulated { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2.8 20h18.4zM12 9v4M12 17h.01'/%3E%3C/svg%3E"); }
body .dp-service-page .dp-svg-icon-access { --dp-svg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16M5 20v-4h4v-4h4V8h4V4h3M7 8l3 3M10 8H7v3'/%3E%3C/svg%3E"); }

/* =========================================================
   08. Correctifs spécifiques pages services
   ========================================================= */

/* Location de benne : formulaire */
.dp-page-location-benne .gb-element-dp-lb-formsec,
.dp-page-location-benne .gb-element-lbv2-formsec {
  background: radial-gradient(circle at 74% 22%, rgba(255,255,255,.10), transparent 34%), linear-gradient(135deg,#16324F 0%,#10283F 100%) !important;
  padding-top: 7rem !important;
  padding-bottom: 7rem !important;
}

.dp-page-location-benne .gb-element-dp-lb-formgrid,
.dp-page-location-benne .gb-element-lbv2-formgrid {
  grid-template-columns: minmax(310px,370px) minmax(720px,860px) !important;
  gap: 74px !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (max-width: 1024px) {
  .dp-page-location-benne .gb-element-dp-lb-formgrid,
.dp-page-location-benne .gb-element-lbv2-formgrid {
    grid-template-columns: 1fr !important;
    gap: 42px !important;
  }
}

/* Déchets entreprises + Biodéchets : grilles 6 cartes */
.dp-page-dechets-entreprises .gb-element-dpde-006,
.dp-page-biodechets .gb-element-dpbio-006 {
  align-items: stretch;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.dp-page-dechets-entreprises .gb-element-dpde-007,
.dp-page-dechets-entreprises .gb-element-dpde-010,
.dp-page-dechets-entreprises .gb-element-dpde-013,
.dp-page-dechets-entreprises .gb-element-dpde-016,
.dp-page-dechets-entreprises .gb-element-dpde-019,
.dp-page-dechets-entreprises .gb-element-dpde-022,
.dp-page-biodechets .gb-element-dpbio-007,
.dp-page-biodechets .gb-element-dpbio-010,
.dp-page-biodechets .gb-element-dpbio-013,
.dp-page-biodechets .gb-element-dpbio-016,
.dp-page-biodechets .gb-element-dpbio-019,
.dp-page-biodechets .gb-element-dpbio-022 {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  min-width: 0;
  width: 100%;
}

.dp-page-dechets-entreprises .gb-element-dpde-price1,
.dp-page-dechets-entreprises .gb-element-dpde-price2,
.dp-page-dechets-entreprises .gb-element-dpde-price3,
.dp-page-biodechets .gb-element-dpbio-price1,
.dp-page-biodechets .gb-element-dpbio-price2,
.dp-page-biodechets .gb-element-dpbio-price3 {
  align-items: center;
  column-gap: 16px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  row-gap: 12px;
}

.dp-page-dechets-entreprises .gb-text-dpde-price1i,
.dp-page-dechets-entreprises .gb-text-dpde-price2i,
.dp-page-dechets-entreprises .gb-text-dpde-price3i,
.dp-page-biodechets .gb-text-dpbio-price1i,
.dp-page-biodechets .gb-text-dpbio-price2i,
.dp-page-biodechets .gb-text-dpbio-price3i {
  grid-column: 1;
  margin-bottom: 0 !important;
}

.dp-page-dechets-entreprises .gb-text-dpde-price1h,
.dp-page-dechets-entreprises .gb-text-dpde-price2h,
.dp-page-dechets-entreprises .gb-text-dpde-price3h,
.dp-page-biodechets .gb-text-dpbio-price1h,
.dp-page-biodechets .gb-text-dpbio-price2h,
.dp-page-biodechets .gb-text-dpbio-price3h {
  grid-column: 2;
  margin-bottom: 0 !important;
}

.dp-page-dechets-entreprises .gb-text-dpde-price1p,
.dp-page-dechets-entreprises .gb-text-dpde-price2p,
.dp-page-dechets-entreprises .gb-text-dpde-price3p,
.dp-page-biodechets .gb-text-dpbio-price1p,
.dp-page-biodechets .gb-text-dpbio-price2p,
.dp-page-biodechets .gb-text-dpbio-price3p {
  grid-column: 1 / -1;
}

@media (max-width: 1024px) {
  .dp-page-dechets-entreprises .gb-element-dpde-006,
  .dp-page-biodechets .gb-element-dpbio-006 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .dp-page-dechets-entreprises .gb-element-dpde-006,
  .dp-page-biodechets .gb-element-dpbio-006 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .dp-page-dechets-entreprises section,
  .dp-page-dechets-entreprises header,
  .dp-page-biodechets section,
  .dp-page-biodechets header {
    overflow-x: clip;
  }
}

/* =========================================================
   09. Formulaires Fluent Forms
   ========================================================= */

:root {
  --dp-field-bg: #f8fafc;
}

.entry-content .dp-form-card,
.entry-content [class*="formcard"] {
  overflow: hidden !important;
  border-radius: 24px !important;
  background: var(--dp-white) !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08) !important;
}

.entry-content .dp-form,
.entry-content .dp-form-card .fluentform,
.entry-content .dp-form-card form.frm-fluent-form,
.entry-content [class*="formcard"] .fluentform,
.entry-content [class*="formcard"] form.frm-fluent-form {
  width: 100% !important;
  max-width: 100% !important;
}

.entry-content .dp-form .ff-t-container,
.entry-content .dp-form-card .ff-t-container,
.entry-content [class*="formcard"] .ff-t-container {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.entry-content .dp-form .ff-t-cell,
.entry-content .dp-form-card .ff-t-cell,
.entry-content [class*="formcard"] .ff-t-cell {
  padding: 0 !important;
}

.entry-content .dp-form .ff-el-group,
.entry-content .dp-form-card .ff-el-group,
.entry-content [class*="formcard"] .ff-el-group {
  margin-bottom: 18px !important;
}

.entry-content .dp-form .ff-el-input--label,
.entry-content .dp-form-card .ff-el-input--label,
.entry-content [class*="formcard"] .ff-el-input--label {
  margin-bottom: 7px !important;
}

.entry-content .dp-form .ff-el-input--label label,
.entry-content .dp-form label,
.entry-content .dp-form-card .ff-el-input--label label,
.entry-content .dp-form-card label,
.entry-content [class*="formcard"] .ff-el-input--label label,
.entry-content [class*="formcard"] label {
  color: var(--dp-blue) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.entry-content .dp-form .ff-el-form-control,
.entry-content .dp-form-card .ff-el-form-control,
.entry-content .dp-form-card input.ff-el-form-control,
.entry-content .dp-form-card select.ff-el-form-control,
.entry-content .dp-form-card textarea.ff-el-form-control,
.entry-content [class*="formcard"] .ff-el-form-control,
.entry-content [class*="formcard"] input.ff-el-form-control,
.entry-content [class*="formcard"] select.ff-el-form-control,
.entry-content [class*="formcard"] textarea.ff-el-form-control {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 56px !important;
  height: 56px !important;
  box-sizing: border-box !important;
  border: 1px solid #d9e2ec !important;
  border-radius: 12px !important;
  background: var(--dp-field-bg) !important;
  color: var(--dp-blue) !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  padding: 0 16px !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.95) inset !important;
}

.entry-content .dp-form textarea.ff-el-form-control,
.entry-content .dp-form-card textarea.ff-el-form-control,
.entry-content [class*="formcard"] textarea.ff-el-form-control {
  min-height: 128px !important;
  height: 128px !important;
  padding-top: 14px !important;
  resize: vertical !important;
}

.entry-content .dp-form .ff-el-form-control:hover,
.entry-content .dp-form-card .ff-el-form-control:hover,
.entry-content [class*="formcard"] .ff-el-form-control:hover {
  background: var(--dp-white) !important;
}

.entry-content .dp-form .ff-el-form-control:focus,
.entry-content .dp-form-card .ff-el-form-control:focus,
.entry-content [class*="formcard"] .ff-el-form-control:focus {
  outline: none !important;
  background: var(--dp-white) !important;
  border-color: var(--dp-orange-action) !important;
  box-shadow: 0 0 0 4px rgba(255,122,0,.22) !important;
}

.entry-content .dp-form .ff-el-form-control::placeholder,
.entry-content .dp-form-card .ff-el-form-control::placeholder,
.entry-content [class*="formcard"] .ff-el-form-control::placeholder {
  color: #98a2b3 !important;
}

.entry-content .dp-form .ff-el-form-check-label,
.entry-content .dp-form-card .ff-el-form-check-label,
.entry-content [class*="formcard"] .ff-el-form-check-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  color: #4b5563 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

.entry-content .dp-form input[type="checkbox"],
.entry-content .dp-form-card input[type="checkbox"],
.entry-content [class*="formcard"] input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  accent-color: var(--dp-orange-action) !important;
}

.entry-content .dp-form .ff-btn-submit,
.entry-content .dp-form-card .ff-btn-submit,
.entry-content .dp-form-card button[type="submit"],
.entry-content .dp-form-card input[type="submit"],
.entry-content [class*="formcard"] .ff-btn-submit,
.entry-content [class*="formcard"] button[type="submit"],
.entry-content [class*="formcard"] input[type="submit"] {
  width: 100% !important;
  min-height: 54px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--dp-orange-action), var(--dp-orange-hover)) !important;
  color: var(--dp-blue-dark) !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  padding: 14px 22px !important;
  cursor: pointer !important;
  box-shadow: 0 14px 30px rgba(255,122,0,.28) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}

.entry-content .dp-form .ff-btn-submit:hover,
.entry-content .dp-form-card .ff-btn-submit:hover,
.entry-content .dp-form-card button[type="submit"]:hover,
.entry-content [class*="formcard"] .ff-btn-submit:hover,
.entry-content [class*="formcard"] button[type="submit"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 18px 38px rgba(255,122,0,.34) !important;
}

@media (max-width: 767px) {
  .entry-content .dp-form .ff-t-container,
  .entry-content .dp-form-card .ff-t-container,
  .entry-content [class*="formcard"] .ff-t-container {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
}

/* =========================================================
   10. FAQ officielle
   ========================================================= */

.entry-content .dp-faq-accordion {
  display: grid !important;
  gap: 16px !important;
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.entry-content .dp-faq-item,
.entry-content .dp-faq-accordion > details {
  margin: 0 !important;
  overflow: hidden !important;
  background: var(--dp-white) !important;
  border: 1px solid rgba(22, 50, 79, 0.10) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.055) !important;
}

.entry-content .dp-faq-item summary,
.entry-content .dp-faq-accordion > details > summary {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 68px !important;
  box-sizing: border-box !important;
  padding: 18px 72px 18px 24px !important;
  list-style: none !important;
  cursor: pointer !important;
  background: var(--dp-white) !important;
  color: var(--dp-blue) !important;
  font-size: 17px !important;
  font-weight: 850 !important;
  line-height: 1.32 !important;
}

.entry-content .dp-faq-item summary::-webkit-details-marker,
.entry-content .dp-faq-accordion > details > summary::-webkit-details-marker {
  display: none !important;
}

.entry-content .dp-faq-item summary::after,
.entry-content .dp-faq-accordion > details > summary::after {
  content: "+" !important;
  position: absolute !important;
  right: 22px !important;
  top: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  background: #f2f4f7 !important;
  color: var(--dp-blue) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
}

.entry-content .dp-faq-item[open],
.entry-content .dp-faq-accordion > details[open] {
  border-color: rgba(255,122,0,.28) !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.08) !important;
}

.entry-content .dp-faq-item[open] summary::after,
.entry-content .dp-faq-accordion > details[open] > summary::after {
  content: "-" !important;
  background: var(--dp-orange-action) !important;
  color: var(--dp-blue-dark) !important;
}

.entry-content .dp-faq-item > p,
.entry-content .dp-faq-accordion > details > p {
  max-width: 850px !important;
  margin: 0 !important;
  padding: 0 24px 24px !important;
  color: var(--dp-muted) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

@media (max-width: 767px) {
  .entry-content .dp-faq-accordion {
    gap: 14px !important;
  }

  .entry-content .dp-faq-item summary,
  .entry-content .dp-faq-accordion > details > summary {
    min-height: 62px !important;
    padding: 16px 62px 16px 20px !important;
    font-size: 16px !important;
  }

  .entry-content .dp-faq-item summary::after,
  .entry-content .dp-faq-accordion > details > summary::after {
    right: 18px !important;
    width: 30px !important;
    height: 30px !important;
  }

  .entry-content .dp-faq-item > p,
  .entry-content .dp-faq-accordion > details > p {
    padding: 0 20px 20px !important;
    font-size: 15px !important;
  }
}

/* =========================================================
   11. Pages info / légales
   ========================================================= */

.dp-info-page {
  color: #5F6B7A;
}

.dp-info-page .dp-info-grid {
  align-items: start;
}

.dp-info-page .dp-info-somlist a:hover {
  color: var(--dp-orange-text) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--dp-orange) !important;
}

.dp-info-page .dp-info-asidecta a:hover,
.dp-info-page .dp-info-ctasec a:hover {
  background: var(--dp-orange-hover) !important;
  color: var(--dp-blue-dark) !important;
  transform: translateY(-1px);
}

.dp-info-page .dp-info-article p,
.dp-info-page .dp-info-article li {
  color: #5F6B7A;
  font-size: 17px;
  line-height: 1.75;
}

.dp-info-page .dp-info-article p {
  margin-bottom: 1rem;
}

.dp-info-page .dp-info-article ul {
  margin: 0 0 1.25rem 1.25rem;
}

.dp-info-page .dp-info-article strong {
  color: #16324F;
}

.dp-info-page .dp-info-article hr {
  border: none;
  border-top: 1px solid #E5E7EB;
  margin: 2.2rem 0;
}

.dp-info-page .dp-info-article h2 {
  scroll-margin-top: 130px;
}

@media (max-width: 900px) {
  .dp-info-page .dp-info-grid {
    grid-template-columns: 1fr !important;
  }

  .dp-info-page .dp-info-aside {
    position: relative !important;
    top: auto !important;
  }
}

@media (max-width: 767px) {
  .dp-info-page .dp-info-hero {
    padding-top: 4rem !important;
    padding-bottom: 3rem !important;
  }

  .dp-info-page .dp-info-main {
    padding-top: 3.5rem !important;
    padding-bottom: 4rem !important;
  }

  .dp-info-page .dp-info-article {
    padding: 30px 22px 34px !important;
  }

  .dp-info-page .dp-info-article p,
  .dp-info-page .dp-info-article li {
    font-size: 16px;
  }
}

/* =========================================================
   11.1 Pages géographiques Région / Ville
   ========================================================= */

.dp-territorial-page,
.dp-city-service-page,
.dp-page-region-v1,
.dp-page-ville-service {
  --dp-blue: #16324F;
  --dp-blue-dark: #102942;
  --dp-orange: #FF7A00;
  --dp-orange-hover: #E86E00;
  --dp-cream: #F7F5F1;
  --dp-bg: #FAFAF8;
  --dp-muted: #5F6673;
  --dp-border: #EEF1F4;
}

.dp-territorial-page :where(h1, h2, h3),
.dp-city-service-page :where(h1, h2, h3),
.dp-page-region-v1 :where(h1, h2, h3),
.dp-page-ville-service :where(h1, h2, h3) {
  text-wrap: balance;
}

.dp-territorial-page :where(p),
.dp-city-service-page :where(p),
.dp-page-region-v1 :where(p),
.dp-page-ville-service :where(p) {
  text-wrap: pretty;
}

/* Les cartes de villes peuvent contenir soit un lien, soit du texte simple */
.dp-page-region-v1 div[class*="city"] a,
.dp-page-ville-service div[class*="nearby"] a,
.dp-city-service-page div[class*="nearby"] a {
  color: var(--dp-blue) !important;
  text-decoration: none !important;
}

.dp-page-region-v1 div[class*="city"] a:hover,
.dp-page-region-v1 div[class*="city"] a:focus,
.dp-page-ville-service div[class*="nearby"] a:hover,
.dp-page-ville-service div[class*="nearby"] a:focus,
.dp-city-service-page div[class*="nearby"] a:hover,
.dp-city-service-page div[class*="nearby"] a:focus {
  color: var(--dp-orange-text) !important;
  text-decoration: none !important;
}

/* Préserve l'apparence des cartes si le contenu injecté est un <span> */
.dp-page-region-v1 div[class*="city"] span,
.dp-page-ville-service div[class*="nearby"] span,
.dp-city-service-page div[class*="nearby"] span {
  color: var(--dp-blue) !important;
  font-weight: 900 !important;
}

/* =========================================================
   12. Header sticky + footer + sécurité liens
   ========================================================= */

/* Header sticky consolidé */
.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
  background: #ffffff !important;
  box-shadow: 0 8px 24px rgba(22, 50, 79, 0.08) !important;
}

/* Ne cibler que la navigation principale du header.
   La classe .main-navigation est aussi utilisée par le panneau mobile GeneratePress. */
#site-navigation {
  z-index: 10000 !important;
}

html {
  scroll-padding-top: 90px;
}

body.admin-bar .site-header {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.admin-bar .site-header {
    top: 46px !important;
  }
}

/* Footer : liens texte sobres, hover orange, sans effet bouton */
.site-footer a,
.footer-widgets a,
footer a {
  text-decoration: none;
  box-shadow: none !important;
}

.site-footer a:hover,
.site-footer a:focus,
.footer-widgets a:hover,
.footer-widgets a:focus,
footer a:hover,
footer a:focus {
  color: var(--dp-orange-text) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  text-decoration: underline !important;
  text-decoration-color: var(--dp-orange) !important;
  text-underline-offset: 3px !important;
}

/*
   Sécurité : une URL peut être utilisée comme lien texte ou bouton.
   On ne cible donc jamais /referencer-mon-entreprise/ ou /prestataires-dechets/
   pour créer un bouton. Les boutons doivent utiliser .dp-cta-secondary ou ses classes
   GenerateBlocks de compatibilité.
*/

/* =========================================================
   13. Correctif badges Hero pages services
   Objectif : éviter la coupure de "Professionnels"
   ========================================================= */

.dp-service-page .dp-service-hero-badges {
  width: 215px !important;
  right: -18px !important;
}

.dp-service-page .dp-service-hero-badge {
  min-width: 215px !important;
  padding: 18px 20px !important;
}

.dp-service-page .dp-service-hero-badge-text {
  margin: 0 !important;
  color: #16324F !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Sécurité desktop : évite les coupures agressives héritées */
.dp-service-page .dp-service-hero-badge-text,
.dp-service-page .dp-service-hero-badge p {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Ajustement tablette/mobile si jamais les badges s'affichent sous l'image */
@media (max-width: 1024px) {
  .dp-service-page .dp-service-hero-badges {
    width: 100% !important;
    right: auto !important;
  }

  .dp-service-page .dp-service-hero-badge {
    min-width: 0 !important;
    width: 100% !important;
  }
}

/* =========================================================
   DECHETPRO — RESTAURATION CTA BLANC FINAL REGION
   Annule l'effet de la normalisation CTA sur le bouton blanc validé
   ========================================================= */

.dp-region-page .gb-element-dpr1-ctasec .gb-text-dpr1-ctabtn2,
.dp-page-region-v1 .gb-element-dpr1-ctasec .gb-text-dpr1-ctabtn2,
.dp-region-page .gb-element-dpr1-ctasec .gb-text-dpr1-ctabtn2:visited,
.dp-page-region-v1 .gb-element-dpr1-ctasec .gb-text-dpr1-ctabtn2:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background-color: #ffffff !important;
  color: #16324F !important;
  border-radius: 12px !important;
  padding: 16px 28px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  box-shadow: 0 14px 30px rgba(255, 255, 255, .12) !important;
  transform: none !important;
}

.dp-region-page .gb-element-dpr1-ctasec .gb-text-dpr1-ctabtn2:hover,
.dp-region-page .gb-element-dpr1-ctasec .gb-text-dpr1-ctabtn2:focus,
.dp-region-page .gb-element-dpr1-ctasec .gb-text-dpr1-ctabtn2:active,
.dp-page-region-v1 .gb-element-dpr1-ctasec .gb-text-dpr1-ctabtn2:hover,
.dp-page-region-v1 .gb-element-dpr1-ctasec .gb-text-dpr1-ctabtn2:focus,
.dp-page-region-v1 .gb-element-dpr1-ctasec .gb-text-dpr1-ctabtn2:active {
  background-color: #F7F5F1 !important;
  color: #16324F !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 38px rgba(255, 255, 255, .18) !important;
}

/* =========================================================
   14. CTA corrigés — taille homogène et classes propres
   Objectif : corriger uniquement les vrais boutons avec classes dp-cta,
   sans cibler globalement une URL ni transformer les liens du footer.
   ========================================================= */

.entry-content a.dp-cta,
.entry-content .gb-text.dp-cta {
  box-sizing: border-box !important;
  min-height: 54px !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: normal !important;
}

/* CTA blanc / clair : utilisé pour les seconds boutons sur fond clair ou coloré */
.dp-cta-light,
a.dp-cta-light,
.gb-text.dp-cta-light,
.dp-cta-light:visited,
a.dp-cta-light:visited,
.gb-text.dp-cta-light:visited {
  background: #ffffff !important;
  color: #16324F !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, .10) !important;
}

.dp-cta-light:hover,
.dp-cta-light:focus,
.dp-cta-light:active,
a.dp-cta-light:hover,
a.dp-cta-light:focus,
a.dp-cta-light:active,
.gb-text.dp-cta-light:hover,
.gb-text.dp-cta-light:focus,
.gb-text.dp-cta-light:active {
  background: #F7F5F1 !important;
  color: #16324F !important;
  text-decoration: none !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 34px rgba(15, 23, 42, .14) !important;
}

/* Groupes de deux CTA : mêmes largeur et hauteur visibles */
.entry-content .dp-cta-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  width: min(100%, 620px) !important;
  max-width: 100% !important;
}

.entry-content .dp-cta-row > a.dp-cta,
.entry-content .dp-cta-row > .gb-text.dp-cta {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 54px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (max-width: 767px) {
  .entry-content .dp-cta-row {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }
}

.dp-final-cta h2,
.dp-final-cta-title,
.gb-container .dp-final-cta-title {
  text-wrap: balance;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

@media (max-width: 768px) {
  .dp-final-cta h2,
  .dp-final-cta-title,
  .gb-container .dp-final-cta-title {
    font-size: clamp(2rem, 8vw, 3rem);
    line-height: 1.08;
  }
}

/* 404 dechetpro.fr - suppression des marges/conteneurs GeneratePress */
.error404 .site-content,
.error404 .content-area,
.error404 .site-main,
.error404 .inside-article,
.error404 .entry-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  width: 100% !important;
}

/* Supprime le fond blanc résiduel autour du bloc 404 */
.error404 .site-content,
.error404 .inside-article {
  background: #FAFAF8 !important;
}

/* Évite l’espace hérité des conteneurs GeneratePress */
.error404.separate-containers .site-main,
.error404.separate-containers .inside-article {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* =========================================================
   Header desktop — menu Professionnels
   Sous-menu au-dessus de la navigation secondaire
   ========================================================= */

@media (min-width: 769px) {

  /* Les conteneurs du header ne doivent pas couper le sous-menu */
  #masthead,
  .site-header,
  .inside-header {
    overflow: visible !important;
  }

  /* Navigation principale au-dessus de la barre des services */
  #site-navigation {
    position: relative !important;
    overflow: visible !important;
    z-index: 10050 !important;
  }

  /* Élément parent Professionnels */
  #site-navigation .dp-menu-pro-dropdown {
    position: relative !important;
    z-index: 10060 !important;
  }

  /* Sous-menu */
  #site-navigation .dp-menu-pro-dropdown > .sub-menu {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: auto !important;
    min-width: 250px !important;
    z-index: 10070 !important;

    background: #ffffff !important;
    border: 1px solid rgba(22, 50, 79, 0.10) !important;
    border-radius: 0 0 10px 10px !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.14) !important;
    overflow: hidden !important;
  }

  /* Liens du sous-menu */
  #site-navigation .dp-menu-pro-dropdown > .sub-menu > li > a,
  #site-navigation .dp-menu-pro-dropdown > .sub-menu > li > a:visited {
    display: block !important;
    width: 100% !important;
    padding: 13px 18px !important;

    background: #ffffff !important;
    color: #16324F !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
  }

  #site-navigation .dp-menu-pro-dropdown > .sub-menu > li > a:hover,
  #site-navigation .dp-menu-pro-dropdown > .sub-menu > li > a:focus {
    background: #F7F5F1 !important;
    color: var(--dp-orange-text) !important;
    box-shadow: inset 3px 0 0 var(--dp-orange) !important;
  }

  /* La barre bleue reste sous le menu déroulant */
  #secondary-navigation,
  .secondary-navigation {
    position: relative !important;
    z-index: 1 !important;
  }
}

.dp-source-link a {
  color: #203C64;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

.dp-source-link a:hover,
.dp-source-link a:focus {
  color: #FD780F;
}

/* Liens ouverts dans un nouvel onglet */
.site-content a[target="_blank"]:not(.dp-cta):not(.gb-button):not(.button) {
  color: #203C64;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

.site-content a[target="_blank"]:not(.dp-cta):not(.gb-button):not(.button):hover,
.site-content a[target="_blank"]:not(.dp-cta):not(.gb-button):not(.button):focus-visible {
  color: #FD780F;
}

/* =========================================================
   15. Correctifs mobiles finaux
   Formulaires services + cartes services + page référencement
   ========================================================= */

@media (max-width: 768px) {

  /* ---------------------------------------------------------
     Formulaires des quatre pages services
     --------------------------------------------------------- */

  .dp-form-card-debarras {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 20px !important;
    box-sizing: border-box !important;
  }

  .dp-form-card-debarras *,
  .dp-form-card-debarras *::before,
  .dp-form-card-debarras *::after {
    box-sizing: border-box !important;
  }

  .dp-form-card-debarras .fluentform,
  .dp-form-card-debarras form,
  .dp-form-card-debarras .ff-el-group,
  .dp-form-card-debarras .ff-el-input--content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .dp-form-card-debarras input:not([type="checkbox"]):not([type="radio"]),
  .dp-form-card-debarras select,
  .dp-form-card-debarras textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }


  /* ---------------------------------------------------------
     Grilles de cartes des quatre pages services
     --------------------------------------------------------- */

  .dp-volume-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .dp-volume-grid > * {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 18px 12px !important;
    box-sizing: border-box !important;
  }

  .dp-volume-grid > * > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .dp-volume-grid h2,
  .dp-volume-grid h3,
  .dp-volume-grid h4,
  .dp-volume-grid .gb-headline {
    font-size: 22px !important;
    line-height: 1.08 !important;
    letter-spacing: -0.3px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  .dp-volume-grid p {
    font-size: 13px !important;
    line-height: 1.45 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }


  /* ---------------------------------------------------------
     Page « Référencer mon entreprise »
     --------------------------------------------------------- */

  .dp-page-referencer-entreprise {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .dp-page-referencer-entreprise *,
  .dp-page-referencer-entreprise *::before,
  .dp-page-referencer-entreprise *::after {
    box-sizing: border-box !important;
  }

  /* Grille principale : sommaire + contenu */
  .dp-referencer-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .dp-referencer-layout > * {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .dp-referencer-layout *,
  .dp-referencer-layout *::before,
  .dp-referencer-layout *::after {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Carte et structure Fluent Forms */
  .dp-page-referencer-entreprise .dp-form-card,
  .dp-page-referencer-entreprise .fluentform,
  .dp-page-referencer-entreprise form,
  .dp-page-referencer-entreprise .ff-el-group,
  .dp-page-referencer-entreprise .ff-el-input--content,
  .dp-page-referencer-entreprise .ff-t-container,
  .dp-page-referencer-entreprise .ff-t-cell {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .dp-page-referencer-entreprise .dp-form-card {
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 24px 20px !important;
  }

  /* Champs classiques uniquement :
     les checkbox et radio sont volontairement exclues */
  .dp-page-referencer-entreprise input:not([type="checkbox"]):not([type="radio"]),
  .dp-page-referencer-entreprise select,
  .dp-page-referencer-entreprise textarea,
  .dp-referencer-layout input:not([type="checkbox"]):not([type="radio"]),
  .dp-referencer-layout select,
  .dp-referencer-layout textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Cases de consentement */
  .dp-page-referencer-entreprise input[type="checkbox"],
  .dp-page-referencer-entreprise input.ff-el-form-check-input {
    -webkit-appearance: none !important;
    appearance: none !important;

    display: inline-block !important;
    position: static !important;

    width: 22px !important;
    min-width: 22px !important;
    max-width: 22px !important;

    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;

    flex: 0 0 22px !important;

    margin: 2px 10px 0 0 !important;
    padding: 0 !important;

    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;

    border: 2px solid #16324F !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    background-image: none !important;
    box-shadow: none !important;

    cursor: pointer !important;
  }

  .dp-page-referencer-entreprise input[type="checkbox"]:checked,
  .dp-page-referencer-entreprise input.ff-el-form-check-input:checked {
    border-color: var(--dp-orange-action) !important;
    background-color: var(--dp-orange-action) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10l4 4 8-9' fill='none' stroke='%2310253A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 14px 14px !important;
  }

  .dp-page-referencer-entreprise .ff-el-form-check-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    cursor: pointer !important;
  }

  .dp-page-referencer-entreprise ul {
    margin-left: 0 !important;
    padding-left: 22px !important;
  }

  .dp-page-referencer-entreprise img {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* dechetpro.fr - Home V2 Premium Visuel - 2026-07-09 */
.dd-home-v3 .dp-home-service-icon{
  width:36px;
  height:36px;
  min-width:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:linear-gradient(135deg,#FFF4EA 0%,#FFE7D2 100%);
  color:var(--dp-orange-readable);
  box-shadow:inset 0 0 0 1px rgba(255,122,0,.14),0 8px 18px rgba(255,122,0,.10);
}
.dd-home-v3 .dp-home-service-icon svg{width:21px;height:21px;display:block}
.dd-home-v3 .dd-v4-search-box{transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease}
.dd-home-v3 .dd-v4-search-box:focus-within,
.dd-home-v3 .dd-v4-search-box:hover{border-color:rgba(255,122,0,.32);box-shadow:0 28px 70px rgba(15,23,42,.16);transform:translateY(-1px)}
.dd-home-v3 .dp-home-hero-visual::before{
  content:"";
  position:absolute;
  inset:42px 10px 70px 28px;
  border-radius:42px;
  background:radial-gradient(circle at 58% 42%,rgba(255,122,0,.13),rgba(255,122,0,0) 44%),linear-gradient(135deg,rgba(22,50,79,.08),rgba(22,50,79,0));
  filter:blur(8px);
  z-index:0;
  pointer-events:none;
}
.dd-home-v3 .dp-home-hero-imgwrap{position:relative}
.dd-home-v3 .dp-home-hero-imgwrap img,
.dd-home-v3 .gb-media-dphero-img1,
.dd-home-v3 .gb-media-dphero-img2{
  border:1px solid rgba(255,255,255,.74);
  filter:saturate(1.03) contrast(1.02);
}
.dd-home-v3 .dp-home-hero-step-card{
  backdrop-filter:blur(10px);
  box-shadow:0 20px 46px rgba(15,23,42,.16)!important;
}

/* =========================================================
   18. Lot UX-1 — cibles tactiles et composants accessibles
   ========================================================= */

.entry-content .dp-color-orange-accessible {
  color: var(--dp-orange-text) !important;
}

.entry-content .dp-color-orange-accessible:hover,
.entry-content .dp-color-orange-accessible:focus {
  color: var(--dp-blue-dark) !important;
}

.entry-content a.dp-color-orange-accessible {
  text-decoration-line: underline !important;
  text-decoration-color: var(--dp-orange) !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 4px !important;
}

.entry-content .dp-color-muted-accessible {
  color: var(--dp-muted) !important;
}

.entry-content .dp-bg-orange-accessible {
  background-color: var(--dp-orange-action) !important;
  color: var(--dp-blue-dark) !important;
}

.entry-content .dp-bg-orange-accessible:hover,
.entry-content .dp-bg-orange-accessible:focus {
  background-color: var(--dp-orange-hover) !important;
  color: var(--dp-blue-dark) !important;
}

.entry-content .ff-el-form-check-label {
  min-height: 44px;
  padding-top: 10px;
  padding-bottom: 10px;
  cursor: pointer;
}

@media (max-width: 768px) {
  .slideout-navigation .main-nav .menu-mobile-heading > .sub-menu > li > a {
    min-height: 44px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .site-footer a,
  .footer-widgets a,
  .dp-page-region-v1 div[class*="city"] a,
  .dp-page-ville-service div[class*="nearby"] a,
  .dp-city-service-page div[class*="nearby"] a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}
.dd-home-v3 .gb-element-ddv3-trust1,
.dd-home-v3 .gb-element-ddv3-trust2,
.dd-home-v3 .gb-element-ddv3-trust3,
.dd-home-v3 .gb-element-ddv3-trust4,
.dd-home-v3 .gb-element-ddv3-step1,
.dd-home-v3 .gb-element-ddv3-step2,
.dd-home-v3 .gb-element-ddv3-step3,
.dd-home-v3 .gb-element-ddv3-stat1,
.dd-home-v3 .gb-element-ddv3-stat2,
.dd-home-v3 .gb-element-ddv3-stat3{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.dd-home-v3 .gb-element-ddv3-trust1:hover,
.dd-home-v3 .gb-element-ddv3-trust2:hover,
.dd-home-v3 .gb-element-ddv3-trust3:hover,
.dd-home-v3 .gb-element-ddv3-trust4:hover,
.dd-home-v3 .gb-element-ddv3-stat1:hover,
.dd-home-v3 .gb-element-ddv3-stat2:hover,
.dd-home-v3 .gb-element-ddv3-stat3:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 52px rgba(15,23,42,.10)!important;
}
.dd-home-v3 a[class*="gb-element-ddv3-solcard"]{
  isolation:isolate;
}
.dd-home-v3 a[class*="gb-element-ddv3-solcard"]::after{
  content:"Découvrir →";
  position:absolute;
  right:22px;
  top:22px;
  z-index:2;
  opacity:0;
  transform:translateY(-4px);
  transition:opacity .22s ease,transform .22s ease;
  background:rgba(255,255,255,.92);
  color:#16324F;
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  font-weight:900;
  box-shadow:0 10px 24px rgba(15,23,42,.16);
}
.dd-home-v3 a[class*="gb-element-ddv3-solcard"]:hover::after{
  opacity:1;
  transform:translateY(0);
}
.dd-home-v3 a[class*="gb-element-ddv3-solcard"] h3,
.dd-home-v3 a[class*="gb-element-ddv3-solcard"] p{
  transition:transform .22s ease;
}
.dd-home-v3 a[class*="gb-element-ddv3-solcard"]:hover h3,
.dd-home-v3 a[class*="gb-element-ddv3-solcard"]:hover p{
  transform:translateY(-2px);
}
.dd-home-v3 .dp-faq-item{
  border:1px solid #E8ECF0;
  box-shadow:0 10px 28px rgba(15,23,42,.045);
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.dd-home-v3 .dp-faq-item:hover{
  border-color:rgba(22,50,79,.16);
  box-shadow:0 16px 36px rgba(15,23,42,.07);
  transform:translateY(-1px);
}
@media (max-width:1024px){
  .dd-home-v3 a[class*="gb-element-ddv3-solcard"]::after{opacity:1;transform:none}
}

/* =========================================================
   19. CTA orange / blanc — variante validée
   Prototype accueil validé puis généralisé au staging.
   ========================================================= */

.main-navigation .main-nav ul li.dd-menu-cta > a,
.main-navigation .main-nav ul li.dp-menu-cta > a,
.slideout-navigation .main-nav ul li.dd-menu-cta > a,
.slideout-navigation .main-nav ul li.dp-menu-cta > a,
.dp-cta-primary,
a.dp-cta-primary,
.gb-text.dp-cta-primary,
.dd-button-primary,
a.dd-button-primary,
.dp-button-primary,
a.dp-button-primary,
.dp-reseau .dp-button-primary,
.gb-text-dpr1-cta,
.gb-text-dpr1-ctabtn,
.gb-text-dpv1-cta,
.gb-text-dpv1-infobtn,
.gb-text-dpv1-ctabtn,
.entry-content .dp-bg-orange-accessible,
.entry-content .dp-form .ff-btn-submit,
.entry-content .dp-form-card .ff-btn-submit,
.entry-content .dp-form-card button[type="submit"],
.entry-content .dp-form-card input[type="submit"],
.entry-content [class*="formcard"] .ff-btn-submit,
.entry-content [class*="formcard"] button[type="submit"],
.entry-content [class*="formcard"] input[type="submit"],
.dp-consent-button--accept,
.dp-consent-button--save {
  background: #E96F00 !important;
  border: 1px solid #FF7A00 !important;
  color: #FFFFFF !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 2px rgba(16, 37, 58, .45) !important;
  box-shadow:
    0 10px 24px rgba(255, 122, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .22) !important;
}

.main-navigation .main-nav ul li.dd-menu-cta > a *,
.main-navigation .main-nav ul li.dp-menu-cta > a *,
.slideout-navigation .main-nav ul li.dd-menu-cta > a *,
.slideout-navigation .main-nav ul li.dp-menu-cta > a *,
.dp-cta-primary *,
.dd-button-primary *,
.dp-button-primary *,
.dp-reseau .dp-button-primary *,
.entry-content .dp-bg-orange-accessible * {
  color: inherit !important;
}

.main-navigation .main-nav ul li.dd-menu-cta:hover > a,
.main-navigation .main-nav ul li.dd-menu-cta.sfHover > a,
.main-navigation .main-nav ul li.dp-menu-cta:hover > a,
.main-navigation .main-nav ul li.dp-menu-cta.sfHover > a,
.slideout-navigation .main-nav ul li.dd-menu-cta:hover > a,
.slideout-navigation .main-nav ul li.dp-menu-cta:hover > a,
.dp-cta-primary:hover,
.dp-cta-primary:focus,
.dd-button-primary:hover,
.dd-button-primary:focus,
.dp-button-primary:hover,
.dp-button-primary:focus,
.dp-reseau .dp-button-primary:hover,
.dp-reseau .dp-button-primary:focus,
.entry-content .dp-bg-orange-accessible:hover,
.entry-content .dp-bg-orange-accessible:focus,
.entry-content .dp-form .ff-btn-submit:hover,
.entry-content .dp-form .ff-btn-submit:focus,
.entry-content .dp-form-card .ff-btn-submit:hover,
.entry-content .dp-form-card .ff-btn-submit:focus,
.entry-content .dp-form-card button[type="submit"]:hover,
.entry-content .dp-form-card button[type="submit"]:focus,
.entry-content [class*="formcard"] .ff-btn-submit:hover,
.entry-content [class*="formcard"] .ff-btn-submit:focus,
.entry-content [class*="formcard"] button[type="submit"]:hover,
.entry-content [class*="formcard"] button[type="submit"]:focus,
.dp-consent-button--accept:hover,
.dp-consent-button--accept:focus-visible,
.dp-consent-button--save:hover,
.dp-consent-button--save:focus-visible {
  background: #D96400 !important;
  border-color: #FF7A00 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px);
  box-shadow:
    0 14px 30px rgba(255, 122, 0, .34),
    inset 0 1px 0 rgba(255, 255, 255, .18) !important;
}

.site-header .menu-toggle,
.main-navigation .menu-toggle,
.mobile-menu-control-wrapper .menu-toggle {
  background: #E96F00 !important;
  border: 1px solid #FF7A00 !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 20px rgba(255, 122, 0, .24) !important;
}

.menu-toggle .gp-icon,
.menu-toggle svg,
.menu-toggle .icon-menu-bars {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
  filter: drop-shadow(0 1px 1px rgba(16, 37, 58, .40));
}

:is(
  .main-navigation .main-nav ul li.dd-menu-cta > a,
  .main-navigation .main-nav ul li.dp-menu-cta > a,
  .dp-cta-primary,
  .dd-button-primary,
  .dp-button-primary,
  .dp-reseau .dp-button-primary,
  .entry-content .dp-bg-orange-accessible,
  .entry-content .dp-form .ff-btn-submit,
  .entry-content .dp-form-card .ff-btn-submit,
  .entry-content [class*="formcard"] .ff-btn-submit,
  .dp-consent-button--accept,
  .dp-consent-button--save
):focus-visible {
  outline: 3px solid rgba(255, 122, 0, .42) !important;
  outline-offset: 3px !important;
}

/* =========================================================
   20. Harmonisation annuaire et footer
   ========================================================= */

/* Les CTA des cartes Réseau restent blancs sur orange, y compris
   lorsque les règles propres au plugin sont chargées après le thème. */
.dp-reseau .dp-card-actions .dp-button-primary,
.dp-reseau .dp-provider-card .dp-card-actions .dp-button-primary,
.dp-reseau .dp-card-actions .dp-button-primary:visited,
.dp-reseau .dp-provider-card .dp-card-actions .dp-button-primary:visited {
  background: #E96F00 !important;
  border: 1px solid #FF7A00 !important;
  color: #FFFFFF !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 2px rgba(16, 37, 58, .45) !important;
  box-shadow:
    0 10px 24px rgba(255, 122, 0, .28),
    inset 0 1px 0 rgba(255, 255, 255, .22) !important;
}

.dp-reseau .dp-card-actions .dp-button-primary:hover,
.dp-reseau .dp-card-actions .dp-button-primary:focus,
.dp-reseau .dp-provider-card .dp-card-actions .dp-button-primary:hover,
.dp-reseau .dp-provider-card .dp-card-actions .dp-button-primary:focus {
  background: #D96400 !important;
  color: #FFFFFF !important;
}

/* Sur le bleu nuit du footer, le bleu de texte était peu perceptible.
   Un orange clair garde la cohérence de marque et reste très contrasté. */
.site-footer a:hover,
.site-footer a:focus,
.footer-widgets a:hover,
.footer-widgets a:focus,
footer a:hover,
footer a:focus {
  color: #FF9A3D !important;
  text-decoration-line: underline !important;
  text-decoration-color: #FF7A00 !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 4px !important;
}

/* =========================================================
   21. Tunnel de demande générale — priorité au formulaire
   ========================================================= */

/* Sous 1180 px, le modèle GenerateBlocks empilait toutes les preuves de
   réassurance avant le formulaire. La description et le formulaire restent
   inchangés ; seul leur ordre visuel est adapté au parcours de demande. */
@media (max-width: 1180px) {
  .dp-page-devis-gratuits .gb-element-dpdg-herogrid {
    display: flex !important;
    flex-direction: column;
    gap: 0 !important;
  }

  .dp-page-devis-gratuits .gb-element-dpdg-heroleft {
    display: contents;
  }

  .dp-page-devis-gratuits .gb-text-dpdg-ey { order: 1; }
  .dp-page-devis-gratuits .gb-text-dpdg-h1 { order: 2; }
  .dp-page-devis-gratuits .gb-text-dpdg-intro { order: 3; }

  .dp-page-devis-gratuits .gb-element-dpdg-formcard {
    order: 4;
    margin-top: .25rem;
  }

  .dp-page-devis-gratuits .gb-element-dpdg-badges { order: 5; }
  .dp-page-devis-gratuits .gb-element-dpdg-minigrid { order: 6; }
}

/* Le premier geste utile reste très proche du haut d'écran sur mobile,
   sans masquer d'information ni modifier les champs Fluent Forms. */
@media (max-width: 767px) {
  .dp-page-devis-gratuits .gb-element-dpdg-hero {
    padding-top: 3rem;
    padding-bottom: 3.5rem;
  }

  .dp-page-devis-gratuits .gb-text-dpdg-h1 {
    font-size: 42px;
    line-height: 1.04;
    margin-bottom: 1rem;
  }

  .dp-page-devis-gratuits .gb-text-dpdg-intro {
    font-size: 16px;
    line-height: 1.58;
    margin-bottom: 1.1rem;
  }

  .dp-page-devis-gratuits .gb-element-dpdg-formcard {
    border-radius: 24px;
    padding: 24px 20px;
  }

  .dp-page-devis-gratuits .gb-text-dpdg-formh {
    font-size: 30px;
  }

  .dp-page-devis-gratuits .gb-text-dpdg-formp {
    margin-bottom: 1rem;
  }

  .dp-page-devis-gratuits .gb-element-dpdg-badges {
    margin: 1.25rem 0 1.5rem;
  }
}
