/* DV CONSULTANT SEO V1.2 — prestation cybersécurité / CRA.
   Scoped additions: all existing WOWSlider, navigation and brand CSS unchanged. */
#cra-teaser { background: #f7faf8; border-top: 1px solid #e5eee9; border-bottom: 1px solid #e5eee9; }
#cra-teaser .dv-section { padding-top: 1.15em; padding-bottom: 1.15em; }
#cra-teaser .dv-cra-teaser-inner { max-width: 1000px; margin: 0 auto; }
#cra-teaser .dv-cra-eyebrow { color: #23674f; font-size: .82em; font-weight: bold; letter-spacing: .055em; text-transform: uppercase; margin: 0 0 6px; }
#cra-teaser h2 { font-size: 1.28em; margin: 0 0 10px; line-height: 1.28; }
#cra-teaser p { font-size: 16px; margin-bottom: 9px; line-height: 1.5; }
.dv-cra-text-link { color: #206249; font-weight: bold; text-decoration: underline; text-underline-offset: .18em; }
.dv-cra-text-link:hover, .dv-cra-text-link:focus { color: #164732; }
#services-widgets .dv-cra-icon { display: flex; align-items: center; justify-content: center;
  height: 180px; width: 180px; max-width: 100%; margin: 0 auto; background: #4dab87;
  clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0 50%); }
#services-widgets .dv-cra-icon .fa { color: #fff; font-size: 94px; line-height: 1; }
#services-widgets .dv-cra-icon-link { display: block; width: 180px; max-width: 100%; margin: auto; }
#services-widgets .dv-cra-widget { width: 180px; height: 180px; max-width: 100%; }
#services-widgets .dv-cra-widget .icon { width: 100%; height: 100%; }
#services-widgets .dv-cra-widget .icon a { height: 100%; }
/* Match the other service cards: reveal green + on hover and keyboard focus. */
#services-widgets .dv-cra-widget:focus-within .icon { opacity: .15; }
#services-widgets .dv-cra-widget:focus-within .link { opacity: 1; }
#services-widgets .dv-cra-description { padding: 5px 8px 12px; }
/* RC1.4: same section treatment as "Expertise technique Zephyr OS et Linux/Android":
   white background, green technical icon on the left, justified text on the right. */
#cyber-resilience-act .dv-cra-service-art {
  width: 280px; height: 280px; max-width: 100%; margin: 22px auto;
  display: flex; justify-content: center; align-items: center;
}
#cyber-resilience-act .dv-cra-service-art .fa {
  font-size: 224px; line-height: 1; color: #4dab87;
}
#cyber-resilience-act .dv-cra-service-summary > p.dv-lead {
  text-align: justify; text-justify: inter-word;
}
#cyber-resilience-act .dv-cra-service-summary a {
  color: #206249; text-decoration: underline; text-underline-offset: .12em;
}
#cyber-resilience-act .dv-cra-service-summary a:hover,
#cyber-resilience-act .dv-cra-service-summary a:focus { color: #164732; }
#cyber-resilience-act .dv-cra-service-summary a:focus-visible {
  outline: 2px solid #206249; outline-offset: 3px;
}
#cra-page { background: #fff; }
#cra-page section { scroll-margin-top: 82px; }
#cra-page .dv-cra-intro { padding-top: 30px; padding-bottom: 28px; }
#cra-page .dv-cra-intro h1 { line-height: 1.25; margin-bottom: 18px; }
#cra-page .dv-cra-intro .lead { font-size: 19px; line-height: 1.57; }
#cra-page .dv-cra-eyebrow { color: #206249; text-transform: uppercase; font-weight: bold; font-size: 15px; letter-spacing: .045em; }
#cra-page .dv-cra-section { padding: 34px 0 38px; }
#cra-page .dv-cra-muted { background: #f6faf8; }
#cra-page h2 { font-size: 29px; line-height: 1.25; margin: 0 0 20px; }
#cra-page h3 { font-size: 21px; line-height: 1.3; margin: 0 0 12px; }
#cra-page p, #cra-page li { line-height: 1.65; }
#cra-page .dv-cra-card { height: 100%; background: white; border: 1px solid #dde9e2; border-top: 4px solid #28785c; border-radius: 4px; padding: 22px 22px 18px; margin-bottom: 24px; }
#cra-page .dv-cra-card p { margin-bottom: 0; }
#cra-page .dv-cra-card h3 { color: #245f4c; }
#cra-page .dv-cra-row { display: flex; flex-wrap: wrap; }
#cra-page .dv-cra-row > [class*='col-'] { display: flex; }
#cra-page .dv-cra-row .dv-cra-card { width: 100%; }
#cra-page .dv-cra-flow { list-style: none; padding: 0; margin: 16px 0; display: flex; flex-wrap: wrap; gap: 10px; }
#cra-page .dv-cra-flow li { background: #e6f2eb; border: 1px solid #cde4d7; color: #184e3b; border-radius: 4px; padding: 8px 13px; font-size: 16px; }
#cra-page .dv-cra-echeances { border-left: 4px solid #267157; background: #f5f9f7; padding: 16px 20px; margin: 20px 0; }
#cra-page .dv-cra-disclaimer { font-size: 15px; color: #444; }
#cra-page a.dv-cra-button { display: inline-block; background: #21684e; border-radius: 4px; color: #fff; padding: 12px 19px; font-weight: bold; text-decoration: none; }
#cra-page a.dv-cra-button:hover, #cra-page a.dv-cra-button:focus { background: #164b38; color: #fff; }
#cra-page a:not(.dv-cra-button):focus-visible,
#services-widgets .dv-cra-icon-link:focus-visible,
#cra-teaser a:focus-visible { outline: 3px solid #d99d00; outline-offset: 3px; }
@media (max-width: 767px) {
  #cra-teaser .dv-section { padding-top: 1.4em; padding-bottom: 1.4em; }
  #cra-teaser h2 { font-size: 1.3em; }
  #cra-page h2 { font-size: 25px; }
  #cra-page .dv-cra-intro .lead { font-size: 17px; }
  #cra-page .dv-cra-section { padding-top: 25px; padding-bottom: 27px; }
  #cra-page .dv-cra-card { padding: 18px; }
}

/* DV CONSULTANT V1.2 RC1.2 — accessible navigation by section.
   Native hover/focus on desktop; explicit expand buttons on touch screens.
   Existing parent navigation links remain clickable. */
.dv-navbar #main-nav > li.dv-nav-dropdown { position: relative; }
.dv-navbar #main-nav > li.dv-nav-dropdown .dv-nav-caret {
  margin-left: 7px; font-size: .72em; vertical-align: 1px;
}
.dv-navbar #main-nav > li.dv-nav-dropdown > .dv-nav-submenu-toggle { display: none; }
.dv-navbar #main-nav > li.dv-nav-dropdown > ul.dv-nav-submenu {
  display: none; position: absolute; z-index: 1100;
  top: 100%; left: 50%; transform: translateX(-50%);
  width: 318px; max-width: calc(100vw - 24px);
  max-height: calc(100vh - 85px); overflow-y: auto;
  margin: 0; padding: 7px 0; list-style: none;
  background: #fff; border: 1px solid #c5dfd2;
  border-top: 3px solid #4dab87; border-radius: 0 0 5px 5px;
  box-shadow: 0 10px 22px rgba(0, 0, 0, .18);
}
.dv-navbar .container-fluid #dv-navbar-links #main-nav.navbar-nav > li.dv-nav-dropdown > ul.dv-nav-submenu > li > a {
  display: block; padding: 11px 17px; font-size: 15px; line-height: 1.3;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-transform: none; white-space: normal;
  color: #214638; background: #fff; text-decoration: none; opacity: 1;
  border-left: 3px solid transparent;
}
.dv-navbar .container-fluid #dv-navbar-links #main-nav.navbar-nav > li.dv-nav-dropdown > ul.dv-nav-submenu > li > a:hover,
.dv-navbar .container-fluid #dv-navbar-links #main-nav.navbar-nav > li.dv-nav-dropdown > ul.dv-nav-submenu > li > a:focus {
  color: #184634; background: #e8f4ee; opacity: 1;
  border-left-color: #4dab87;
}
.dv-navbar .container-fluid #dv-navbar-links #main-nav.navbar-nav > li.dv-nav-dropdown > ul.dv-nav-submenu > li > a:focus-visible {
  outline: 2px solid #d99d00; outline-offset: -3px;
}
@media (min-width: 768px) {
  .dv-navbar #main-nav > li.dv-nav-dropdown:hover > ul.dv-nav-submenu,
  .dv-navbar #main-nav > li.dv-nav-dropdown:focus-within > ul.dv-nav-submenu { display: block; }
}
@media (max-width: 767px) {
  .dv-navbar #dv-navbar-links.navbar-collapse {
    background: #4dab87; max-height: calc(100vh - 73px); overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .dv-navbar #main-nav > li.dv-nav-dropdown > a {
    padding-right: 58px;
  }
  .dv-navbar #main-nav > li.dv-nav-dropdown .dv-nav-caret { display: none; }
  .dv-navbar #main-nav > li.dv-nav-dropdown > .dv-nav-submenu-toggle {
    display: flex; position: absolute; right: 0; top: 0;
    justify-content: center; align-items: center;
    width: 54px; height: 73px; border: none;
    border-left: 1px solid rgba(255,255,255,.32);
    background: transparent; color: #fff; font-size: 20px;
  }
  .dv-navbar #main-nav > li.dv-nav-dropdown > .dv-nav-submenu-toggle[aria-expanded="true"] .fa {
    transform: rotate(180deg);
  }
  .dv-navbar #main-nav > li.dv-nav-dropdown > .dv-nav-submenu-toggle:focus-visible {
    outline: 2px solid #fbcf61; outline-offset: -3px;
  }
  .dv-navbar #main-nav > li.dv-nav-dropdown > ul.dv-nav-submenu {
    position: static; width: 100%; max-width: 100%; max-height: none;
    transform: none; overflow: visible; padding: 6px 0 9px;
    box-shadow: none; border: 0; border-radius: 0;
    background: #f4faf6;
  }
  .dv-navbar #main-nav > li.dv-nav-dropdown.is-open > ul.dv-nav-submenu { display: block; }
  .dv-navbar .container-fluid #dv-navbar-links #main-nav.navbar-nav > li.dv-nav-dropdown > ul.dv-nav-submenu > li > a {
    padding: 11px 17px 11px 25px;
    background: #f4faf6;
    font-size: 15px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .dv-navbar #main-nav > li.dv-nav-dropdown .dv-nav-submenu-toggle .fa { transition: none; }
}
