/* Nouveau design LRC bureau : header de la maquette C, visible seulement avec html.nd-live. Recherche et panier : lrc-shared.css. */

html.nd-live body {
  background-color: #e8f1f8 !important;
  background-image:
    linear-gradient(rgba(4, 115, 204, 0.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(4, 115, 204, 0.10) 1px, transparent 1px) !important;
  background-size: 28px 28px, 28px 28px !important;
}
html.nd-live .page-wrapper,
html.nd-live .page-content,
html.nd-live .grey-bg {
  background: transparent !important;
  background-image: none !important;
}
html.nd-live header#site-header {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  height: auto !important;
  width: 100% !important;
  background: #e8f1f8 !important;
  border-bottom: 1px solid rgba(4, 115, 204, 0.28);
  box-shadow: none !important;
  z-index: 50;
}
html.nd-live #header-wrap {
  background: #e8f1f8 !important;
  background-color: #e8f1f8 !important;
  z-index: 60 !important;
}
html.nd-live #header-wrap > .container,
html.nd-live #header-wrap .row,
html.nd-live #header-wrap [class*="col-"] {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: none !important;
  background: transparent !important;
  background-color: transparent !important;
}
html.nd-live #header-wrap > nav,
html.nd-live #header-wrap nav.navbar,
html.nd-live .top-bar { display: none !important; }
html.nd-live .page-wrapper { margin-top: 0 !important; padding-top: 0 !important; }
html.nd-live .page-wrapper > section { margin-top: 0 !important; }

.nd-header { display: none; }
html.nd-live .nd-header {
  display: grid;
  grid-template-columns: auto auto minmax(180px, 1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 10px 28px;
  font-family: Outfit, sans-serif;
  color: #0e2744;
  box-sizing: border-box;
}
html.nd-live .nd-header a { color: inherit; text-decoration: none; }
html.nd-live .nd-brand { display: flex; align-items: center; background: transparent; }
html.nd-live .nd-brand img { height: 52px; width: auto; max-width: none; display: block; background: transparent; }
html.nd-live .nd-nav { display: flex; gap: 4px; font-weight: 600; font-size: 0.92rem; }
html.nd-live .nd-nav a { color: #4a6280; padding: 8px 10px; border-radius: 4px; }
html.nd-live .nd-nav a:hover { color: #0473CC; }
html.nd-live .nd-header .nd-search { min-width: 0; }
html.nd-live .nd-header .nd-cart { white-space: nowrap; }

/* Accueil bureau : les carrousels deviennent des grilles de cartes, style maquette C. */
html.nd-live .page-content { font-family: Outfit, sans-serif; color: #0e2744; }
html.nd-live .page-content h2 {
  font-family: Outfit, sans-serif !important;
  font-size: 1.7rem !important;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: #0e2744 !important;
  margin: 28px 0 14px !important;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(21, 32, 51, 0.12);
}
/* Accueil : le conteneur du theme (1170 px) passe sur toute la largeur, aligne sur l'en-tete. */
html.nd-live .page-wrapper:has(section.pb-3.pt-0) section .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}
html.nd-live .page-content .owl-carousel {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  width: 100% !important;
}
html.nd-live .page-content [id^="exposition_"] .owl-carousel,
html.nd-live .page-content [id^="typemoc_"] .owl-carousel {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
html.nd-live .page-content .owl-carousel::before,
html.nd-live .page-content .owl-carousel::after { display: none !important; content: none !important; }
html.nd-live .page-content .owl-stage-outer,
html.nd-live .page-content .owl-stage { display: contents !important; }
html.nd-live .page-content .owl-item {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  float: none !important;
}
html.nd-live .page-content .owl-item.cloned,
html.nd-live .page-content .owl-nav,
html.nd-live .page-content .owl-dots { display: none !important; }
html.nd-live .page-content [id^="agence_"] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 14px;
  margin: 0;
}
html.nd-live .page-content [id^="agence_"] > [class*="col-"] {
  width: auto; max-width: none; flex: none; padding: 0; margin: 0 !important;
}
html.nd-live .page-content [id^="agence_"] .blog-classic { padding: 0 !important; margin: 0 !important; height: auto; }

html.nd-live .page-content .service-item,
html.nd-live .page-content .post {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(21, 32, 51, 0.12);
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  margin: 0;
}
html.nd-live .page-content .service-item > .service-images:first-child,
html.nd-live .page-content .post > .post-desc:first-child {
  background: #fff !important;
  border-top: 4px solid #0473CC;
  padding: 12px 14px !important;
}
html.nd-live .page-content .service-item > .service-images:first-child h5,
html.nd-live .page-content .post-title { margin: 0; height: auto !important; text-align: left !important; }
html.nd-live .page-content .service-item > .service-images:first-child h5 a,
html.nd-live .page-content .post-title h5 a,
html.nd-live .page-content .post-title a {
  color: #0e2744 !important;
  font-size: 0.95rem !important;
  font-weight: 600;
}
html.nd-live .page-content .post-title center { text-align: left; }
html.nd-live .page-content .service-item > .service-images:first-child > a {
  display: block;
  color: #4a6280 !important;
  font-size: 0.78rem !important;
  margin-top: 2px;
}
html.nd-live .page-content .service-item > .service-images:not(:first-child),
html.nd-live .page-content .post > .item,
html.nd-live .page-content .post-image {
  aspect-ratio: 3 / 2;
  background: #e8eef4;
  overflow: hidden;
  position: relative;
}
html.nd-live .page-content .service-item > .service-images:not(:first-child) img,
html.nd-live .page-content .post > .item img,
html.nd-live .page-content .post-image img {
  width: 100%; height: 100%; object-fit: cover; display: block; max-width: none;
}
html.nd-live .page-content .post > .item > a,
html.nd-live .page-content .post-image { display: block; height: 100%; }
html.nd-live .page-content .post-date { display: none; }
html.nd-live .page-content .post > .post-desc:not(:first-child) {
  background: #fff !important;
  border-top: 0;
  padding: 8px 14px 0 !important;
}
html.nd-live .page-content .service-description.p-3 {
  display: flex !important;
  justify-content: space-between;
  align-items: flex-end;
  padding: 12px 14px 8px !important;
}
html.nd-live .page-content .service-description .post-meta,
html.nd-live .page-content .post-bottom .post-meta {
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 0.72rem !important;
  color: #4a6280 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}
html.nd-live .page-content .service-description h3 {
  font-family: Outfit, sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 700;
  color: #F00818 !important;
  margin: 0 !important;
}
html.nd-live .page-content .service-description.p-2,
html.nd-live .page-content .post-bottom {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  height: auto !important;
  padding: 0 !important;
  margin: auto 0 0 !important;
  border-top: 1px solid rgba(21, 32, 51, 0.12);
}
html.nd-live .page-content .post-bottom { grid-template-columns: 1fr; }
html.nd-live .page-content .post-bottom .post-meta { margin: 8px 14px 10px !important; }
html.nd-live .page-content .service-description.p-2 .post-btn,
html.nd-live .page-content .post-bottom .post-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: auto;
  margin: 0 !important;
  padding: 12px 8px !important;
  min-height: 44px;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 0.68rem !important;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff !important;
  background: #0473CC !important;
}
html.nd-live .page-content .post-btn::before,
html.nd-live .page-content .post-btn::after { display: none !important; content: none !important; }
html.nd-live .page-content .service-description.p-2 .post-btn:not(.redlrc-bg) { order: -1; border-right: 1px solid rgba(255, 255, 255, 0.35) !important; }
html.nd-live .page-content .service-description.p-2 .post-btn.redlrc-bg { background: #F00818 !important; }
html.nd-live .page-content .post-btn:hover { filter: brightness(1.06); }
html.nd-live .page-content .post-btn i { margin-left: 6px !important; }
html.nd-live .page-content .social-icons {
  position: absolute !important;
  top: 58px !important;
  right: 8px !important;
  left: auto !important;
  margin: 0 !important;
  z-index: 3;
}
html.nd-live .page-content .social-icons ul { margin: 0 !important; }
html.nd-live .page-content .social-icons li { margin: 0 0 4px !important; width: auto; }
html.nd-live .page-content .social-icons a {
  display: inline-block;
  background: #fff !important;
  color: #0e2744 !important;
  border-radius: 4px;
  padding: 2px 6px !important;
  font-size: 11px !important;
  line-height: 1.4;
  box-shadow: 0 1px 4px rgba(6, 50, 90, 0.18);
}
html.nd-live .page-content .row > .col-sm-12 { text-align: right; padding-top: 12px; }
html.nd-live .page-content .row > .col-sm-12 > .post-btn {
  display: inline-flex !important;
  align-items: center;
  background: transparent !important;
  color: #0473CC !important;
  border: 0 !important;
  box-shadow: none !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 0.78rem !important;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: none;
  padding: 6px 0 !important;
}
html.nd-live .page-content .row > .col-sm-12 > .post-btn:hover { color: #06325a !important; background: transparent !important; }

html.nd-live section.grey-bg { padding: 18px 0 6px !important; }
html.nd-live section.grey-bg .counter {
  background: #fff;
  border: 1px solid rgba(21, 32, 51, 0.12);
  border-radius: 6px;
  margin: 0 8px 12px !important;
  padding: 16px 14px !important;
  font-family: Outfit, sans-serif;
}

/* Catalogue bureau : pleine largeur, filtres a gauche, grille de 6 cartes comme la maquette. */
html.nd-live section.pb-17:has(.sidebar) > .container,
html.nd-live .page-wrapper:has(section.pb-17 .sidebar) > section.page-title > .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
}
html.nd-live section.pb-17:has(.sidebar) > .container > .row {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr);
  column-gap: 28px;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
html.nd-live section.pb-17:has(.sidebar) > .container > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}
html.nd-live section.pb-17 .right-side {
  width: 100% !important;
  max-width: none !important;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}
html.nd-live section.pb-17 .right-side > .row { display: contents; }
html.nd-live section.pb-17 .right-side > img { display: none !important; }
html.nd-live .sidebar { position: sticky; top: 92px; align-self: flex-start; }
html.nd-live .right-side > .row > [class*="col-"] { width: auto; max-width: none; flex: none; padding: 0; margin: 0 !important; }

/* Accueil : les blocs de la maquette (rayon, pourquoi, logos, avis, pied de page). */
html.nd-live .nd-shophead {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin: 8px 0 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(21, 32, 51, 0.12);
}
html.nd-live .nd-shophead h2 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  font-size: 1.45rem !important;
}
html.nd-live .nd-shophead p { margin: 2px 0 0; color: #4a6280; font-size: 0.88rem; }
html.nd-live .nd-shophead > a {
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.75rem;
  color: #0473CC;
  text-decoration: none;
  white-space: nowrap;
}
html.nd-live .nd-cats {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}
html.nd-live .nd-cats a {
  padding: 6px 12px;
  border: 1px solid rgba(4, 115, 204, 0.35);
  background: rgba(255, 255, 255, 0.75);
  border-radius: 2px;
  font-size: 0.82rem;
  font-weight: 600;
  color: #0e2744;
  text-decoration: none;
}
html.nd-live .nd-cats a.is-on,
html.nd-live .nd-cats a:hover { background: #06325a; color: #fff; border-color: #06325a; }
html.nd-live section.grey-bg.text-center:not(.pb-5) { margin-top: 0 !important; }

html.nd-live section.dark-bg.pattern.feuture-bottom {
  background: transparent !important;
  background-image: none !important;
  padding: 28px 0 8px !important;
  color: #0e2744 !important;
}
html.nd-live section.dark-bg.pattern.feuture-bottom::before,
html.nd-live section.dark-bg.pattern.feuture-bottom::after { display: none !important; content: none !important; }
html.nd-live section.dark-bg.pattern > .container {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
html.nd-live section.dark-bg.pattern .row { display: contents; }
html.nd-live section.dark-bg.pattern .col-lg-6 { grid-column: 1 / -1; text-align: left !important; }
html.nd-live section.dark-bg.pattern .col-lg-6,
html.nd-live section.dark-bg.pattern .col-md-6,
html.nd-live section.dark-bg.pattern .col-lg-3 {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html.nd-live section.dark-bg.pattern h2,
html.nd-live section.dark-bg.pattern h2 span {
  color: #0e2744 !important;
  font-size: 1.35rem !important;
  font-weight: 600;
  text-align: left !important;
  margin: 0 0 6px !important;
}
html.nd-live section.dark-bg.pattern .col-lg-6 p { color: #4a6280 !important; font-size: 0.88rem; margin: 0 !important; }
html.nd-live section.dark-bg.pattern .featured-item {
  background: #fff;
  border: 1px solid rgba(4, 115, 204, 0.22);
  padding: 16px 16px 18px;
  height: 100%;
}
html.nd-live section.dark-bg.pattern .featured-icon,
html.nd-live section.dark-bg.pattern .featured-item > span { display: none !important; }
html.nd-live section.dark-bg.pattern h5 {
  color: #0e2744 !important;
  font-size: 0.95rem !important;
  font-weight: 600;
  text-transform: none !important;
  letter-spacing: -0.02em;
  margin: 0 0 6px !important;
}
html.nd-live section.dark-bg.pattern .featured-desc p {
  color: #4a6280 !important;
  font-size: 0.82rem !important;
  line-height: 1.35;
  margin: 0 !important;
}

html.nd-live section.text-center:not(.grey-bg):not(.page-title):not(:has(.blog-classic)) { padding-top: 28px !important; }
html.nd-live section.text-center:not(.grey-bg):not(.page-title):not(:has(.blog-classic)) .col-lg-8 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  text-align: left;
}
html.nd-live section.text-center:not(.grey-bg):not(.page-title):not(:has(.blog-classic)) h2,
html.nd-live section.text-center:not(.grey-bg):not(.page-title):not(:has(.blog-classic)) h2 span {
  color: #0e2744 !important;
  font-size: 1.35rem !important;
  font-weight: 600;
  text-align: left !important;
  margin: 0 !important;
}
html.nd-live section.text-center:not(.grey-bg):not(.page-title):not(:has(.blog-classic)) .section-title::after {
  content: "Agences, industriels et événements qui nous confient leurs modèles.";
  display: block;
  margin-top: 4px;
  color: #4a6280;
  font-size: 0.88rem;
  text-align: left;
}
html.nd-live section.text-center:not(.grey-bg):not(.page-title):not(:has(.blog-classic)) .row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 !important;
}
html.nd-live section.text-center:not(.grey-bg):not(.page-title):not(:has(.blog-classic)) .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  background: #fff;
  border: 1px solid rgba(4, 115, 204, 0.18);
  height: 96px;
  display: grid;
  place-items: center;
}
html.nd-live section.text-center:not(.grey-bg):not(.page-title):not(:has(.blog-classic)) img {
  max-width: 100% !important;
  max-height: 64px;
  width: auto !important;
  height: auto;
  object-fit: contain;
}
html.nd-live section.text-center.grey-bg {
  background: transparent !important;
  padding: 10px 0 8px !important;
}
html.nd-live section.text-center.grey-bg .owl-carousel {
  display: grid !important;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
  width: 100% !important;
}
html.nd-live section.text-center.grey-bg .owl-stage-outer,
html.nd-live section.text-center.grey-bg .owl-stage { display: contents !important; }
html.nd-live section.text-center.grey-bg .owl-item.cloned,
html.nd-live section.text-center.grey-bg .owl-nav,
html.nd-live section.text-center.grey-bg .owl-dots { display: none !important; }
html.nd-live section.text-center.grey-bg .owl-item {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  background: #fff;
  border: 1px solid rgba(4, 115, 204, 0.18);
  height: 78px;
  display: grid !important;
  place-items: center;
  padding: 8px;
}
html.nd-live section.text-center.grey-bg .owl-item img {
  max-width: 100%;
  max-height: 52px;
  width: auto !important;
  height: auto;
  object-fit: contain;
}

html.nd-live section.dark-bg.mb-2:has(#accordion2) {
  background: transparent !important;
  background-image: none !important;
  padding: 20px 0 36px !important;
}
html.nd-live section.dark-bg.mb-2:has(#accordion2) .col-md-8 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  text-align: left;
}
html.nd-live section.dark-bg.pattern h2::before,
html.nd-live section.dark-bg.pattern h2::after,
html.nd-live section.text-center:not(.grey-bg):not(.page-title):not(:has(.blog-classic)) h2::before,
html.nd-live section.text-center:not(.grey-bg):not(.page-title):not(:has(.blog-classic)) h2::after,
html.nd-live section.dark-bg.mb-2:has(#accordion2) h2.title::after,
html.nd-live .section-title .title::before,
html.nd-live .section-title .title::after { display: none !important; content: none !important; }
html.nd-live .page-wrapper:has(section.pb-3.pt-0) .post-btn.black-bg {
  display: inline-flex !important;
  width: auto;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #0473CC !important;
  border: 0 !important;
  box-shadow: none !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 0.75rem !important;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: none;
}
html.nd-live section.dark-bg.mb-2:has(#accordion2) .row.text-center,
html.nd-live section.dark-bg.mb-2:has(#accordion2) .section-title,
html.nd-live section.dark-bg.mb-2:has(#accordion2) .section-title h2 { text-align: left !important; }
html.nd-live section.dark-bg.mb-2:has(#accordion2) .section-title h2 {
  font-size: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  display: block;
}
html.nd-live section.dark-bg.mb-2:has(#accordion2) .section-title h2::before {
  content: "Avis" !important;
  display: inline !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  left: auto !important;
  background: none !important;
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: -0.03em;
  color: #0e2744;
}
html.nd-live section.dark-bg.mb-2:has(#accordion2) .card-header a > span { display: none !important; }
html.nd-live section.dark-bg.mb-2:has(#accordion2) .card-header a::before,
html.nd-live section.dark-bg.mb-2:has(#accordion2) .card-header a::after { display: none !important; content: none !important; }
html.nd-live section.dark-bg.mb-2:has(#accordion2) .post-btn.black-bg {
  display: inline-flex !important;
  width: auto;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #0473CC !important;
  border: 0 !important;
  box-shadow: none !important;
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 0.75rem !important;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: none;
}
html.nd-live section.dark-bg.mb-2:has(#accordion2) .section-title::after {
  content: "Notes laissées après réception.";
  display: block;
  margin-top: 4px;
  color: #4a6280;
  font-size: 0.88rem;
  text-align: left;
}
html.nd-live section.dark-bg.mb-2:has(#accordion2) .row.white-bg {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}
html.nd-live section.dark-bg.mb-2:has(#accordion2) .row.white-bg > .col-sm-12 { width: 100% !important; max-width: none !important; padding: 0 !important; }
html.nd-live section.dark-bg.mb-2:has(#accordion2) #accordion2 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
html.nd-live section.dark-bg.mb-2:has(#accordion2) .card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid rgba(4, 115, 204, 0.22) !important;
  border-radius: 0;
  padding: 14px 14px 16px;
  margin: 0 !important;
}
html.nd-live section.dark-bg.mb-2:has(#accordion2) .card:nth-child(n+4) { display: none !important; }
html.nd-live .nd-review {
  display: flex !important;
  flex-direction: column;
  gap: 8px;
  height: 100%;
}
html.nd-live .nd-review header { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
html.nd-live .nd-review header strong { font-size: 0.92rem; color: #0e2744; }
html.nd-live .nd-review header span {
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.68rem;
  color: #F00818;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
html.nd-live .nd-review h3 {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #0e2744;
  text-transform: none;
}
html.nd-live .nd-review p {
  margin: 0;
  color: #4a6280;
  font-size: 0.84rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
html.nd-live .nd-review footer { margin-top: auto; font-size: 0.75rem; color: #0473CC; }
html.nd-live section.dark-bg.mb-2:has(#accordion2) .card-header,
html.nd-live section.dark-bg.mb-2:has(#accordion2) .collapse,
html.nd-live section.dark-bg.mb-2:has(#accordion2) .collapsing { display: none !important; }

html.nd-live .page-wrapper:has(section.pb-3.pt-0) footer .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}
html.nd-live footer.footer {
  position: relative;
  background: #06325a url("/nd/nebula-eagle.jpg") center 35% / cover no-repeat !important;
  color: #fff !important;
  padding: 36px 0 28px !important;
  overflow: hidden;
}
html.nd-live footer.footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(6, 50, 90, 0.4), rgba(6, 50, 90, 0.92));
  pointer-events: none;
}
html.nd-live footer.footer .primary-footer,
html.nd-live footer.footer .container { position: relative; z-index: 1; }
html.nd-live footer .primary-footer > .container > .row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px 32px;
  margin: 0 !important;
}
html.nd-live footer .primary-footer > .container > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html.nd-live footer.footer h5,
html.nd-live footer.footer h5 span {
  font-family: "IBM Plex Mono", monospace !important;
  font-size: 0.68rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8ec8ef !important;
}
html.nd-live footer.footer p { color: rgba(255, 255, 255, 0.78) !important; font-size: 0.86rem; }
html.nd-live footer.footer a { color: #fff !important; font-weight: 600; }
html.nd-live footer.footer a:hover { color: #ff8a92 !important; }

/* Fiche produit : pleine largeur, prix dans le flux, formulaire sous la photo, similaires en cartes. */
html.nd-live .page-wrapper:has(.team-single) > section.page-title > .container,
html.nd-live .page-wrapper:has(.team-single) .page-content .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
}
html.nd-live .page-wrapper:has(.team-single) section.page-title .row,
html.nd-live .page-wrapper:has(.team-single) section.page-title .col-lg-8 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  background: transparent !important;
  flex: none !important;
}
html.nd-live .page-wrapper:has(.team-single) section.page-title h1,
html.nd-live .page-wrapper:has(.team-single) section.page-title h1 span {
  display: block !important;
  width: auto !important;
  background: transparent !important;
  box-shadow: none !important;
}
html.nd-live section.page-title h1.title::before,
html.nd-live section.page-title h1.title::after {
  display: none !important;
  content: none !important;
  position: static !important;
  width: auto !important;
}
html.nd-live footer.footer .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
}
html.nd-live .page-content section.pb-2 > .container > .row {
  display: grid !important;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  gap: 32px;
  align-items: start;
  margin: 0 !important;
}
html.nd-live .page-content section.pb-2 > .container > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}
html.nd-live .team-single {
  background: #fff;
  border: 1px solid rgba(21, 32, 51, 0.12);
  border-radius: 6px;
  overflow: hidden;
}
html.nd-live .team-images { background: #e8eef4; }
html.nd-live .team-images img.img-center {
  width: 100% !important;
  height: auto;
  max-width: none;
  object-fit: contain;
}
html.nd-live .team-desc { padding: 14px 16px 16px; position: relative; }
html.nd-live .team-desc .social-icons.social-hover {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px 0 0 !important;
  transform: none !important;
  padding: 14px 16px !important;
  box-sizing: border-box;
  overflow: visible !important;
}
html.nd-live .team-desc .social-icons.social-hover .form-group {
  width: 100%;
  margin: 0;
  line-height: 1.45;
  white-space: normal;
}
html.nd-live .team-description { overflow: visible; }
html.nd-live .team-description .bloc-download {
  float: none !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 12px !important;
  background: #fff !important;
  background-image: none !important;
  color: #0e2744 !important;
  border: 1px solid rgba(21, 32, 51, 0.12);
  border-radius: 6px;
  text-align: left !important;
  z-index: auto !important;
}
html.nd-live .team-description .bloc-download::before,
html.nd-live .team-description .bloc-download::after { display: none !important; content: none !important; }
html.nd-live .team-description .bloc-download { padding: 16px 18px !important; }
html.nd-live .team-description .bloc-download span.text-redlrc {
  font-size: 2rem !important;
  font-weight: 800 !important;
  color: #F00818 !important;
}
html.nd-live .team-description .bloc-download a,
html.nd-live .team-description .bloc-download a p { color: #0e2744 !important; }
html.nd-live .team-description .bloc-download a .text-redlrc {
  color: #F00818 !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}
html.nd-live .team-description .bloc-download .btn,
html.nd-live .team-description .bloc-download .btn span {
  background: #F00818 !important;
  color: #fff !important;
  border: 0 !important;
}
html.nd-live .team-description .bloc-download .btn {
  display: inline-block !important;
  padding: 10px 18px !important;
  margin-top: 4px;
}
html.nd-live .team-description .bloc-download .btn::before,
html.nd-live .team-description .bloc-download .btn::after { display: none !important; content: none !important; }
html.nd-live .team-description .bloc-download p,
html.nd-live .page-content .widget-contact p,
html.nd-live .page-content .widget-contact h4 {
  background: transparent !important;
  color: #0e2744 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
}
html.nd-live .team-description h2.title::before,
html.nd-live .team-description h2.title::after,
html.nd-live .page-content h3.title::before,
html.nd-live .page-content h3.title::after { display: none !important; content: none !important; }
html.nd-live .page-content .widget-contact {
  background: #fff !important;
  background-image: none !important;
  color: #0e2744 !important;
  border: 1px solid rgba(21, 32, 51, 0.12);
  border-radius: 6px;
}
html.nd-live .page-wrapper:has(.team-single) [class*="col-md-"]:has(.owl-carousel) {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}
html.nd-live .page-wrapper:has(.team-single) section.page-title {
  text-align: left !important;
  padding: 16px 0 4px !important;
}
html.nd-live .page-wrapper:has(.team-single) section.page-title nav.page-breadcrumb {
  justify-content: flex-start;
}
html.nd-live .page-wrapper:has(.team-single) section.page-title nav.page-breadcrumb .breadcrumb {
  margin: 4px 0 0 !important;
}
html.nd-live .team-desc .social-icons.social-colored {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  display: inline-flex !important;
  width: auto !important;
  margin: 0 0 0 10px !important;
  vertical-align: middle;
}
html.nd-live .page-wrapper:has(.team-single) .page-content .owl-carousel {
  display: flex !important;
  flex-wrap: wrap;
  gap: 14px;
}
html.nd-live .page-wrapper:has(.team-single) .page-content .owl-item:not(.cloned) {
  width: 260px !important;
  max-width: 260px !important;
  flex: 0 0 260px !important;
}
/* Page agence : pleine largeur, liste en 6 colonnes comme le catalogue. */
html.nd-live .page-wrapper:has(.nd-agencemodeles) > section.page-title > .container,
html.nd-live .page-wrapper:has(.nd-agencemodeles) section.pb-17 > .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
}
html.nd-live .page-wrapper:has(.nd-agencemodeles) section.page-title {
  text-align: left !important;
  padding: 16px 0 4px !important;
}
html.nd-live .page-wrapper:has(.nd-agencemodeles) section.page-title .row,
html.nd-live .page-wrapper:has(.nd-agencemodeles) section.page-title .col-lg-8 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  flex: none !important;
  background: transparent !important;
}
html.nd-live .page-wrapper:has(.nd-agencemodeles) section.page-title nav.page-breadcrumb {
  justify-content: flex-start;
}
html.nd-live .page-wrapper:has(.nd-agencemodeles) section.page-title nav.page-breadcrumb .breadcrumb {
  margin: 4px 0 0 !important;
}
html.nd-live .page-wrapper:has(.nd-agencemodeles) section.pb-17 > .container > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}
html.nd-live .page-wrapper:has(.nd-agencemodeles) section.pb-17 > .container > .row > [class*="col-"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100%;
}
html.nd-live .page-wrapper:has(.nd-agencemodeles) section.pb-17 h2 {
  margin: 22px 0 14px !important;
  color: #0e2744;
  font-size: 1.45rem;
}
html.nd-live .page-wrapper:has(.nd-agencemodeles) .row > .col-sm-12 { text-align: left; }
html.nd-live .page-wrapper:has(.nd-agencemodeles) .row > .col-sm-12 > .post-btn { float: none !important; }
html.nd-live .nd-agencemodeles {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}
html.nd-live .nd-agencemodeles > .row { display: contents; }
html.nd-live .nd-agencemodeles > .row > .col-3 {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
}
/* Page Fusees (agences par type) : chaque agence = carte a gauche + rail de modeles a droite, pleine largeur. */
html.nd-live .page-wrapper:has(.blog-classic) > section.page-title > .container,
html.nd-live section.text-center:has(.blog-classic) > .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
}
html.nd-live .page-wrapper:has(.blog-classic) section.page-title {
  text-align: left !important;
  padding: 16px 0 4px !important;
}
html.nd-live .page-wrapper:has(.blog-classic) section.page-title .row,
html.nd-live .page-wrapper:has(.blog-classic) section.page-title .col-lg-8 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  flex: none !important;
  background: transparent !important;
}
html.nd-live .page-wrapper:has(.blog-classic) section.page-title nav.page-breadcrumb { justify-content: flex-start; }
html.nd-live .page-wrapper:has(.blog-classic) section.page-title nav.page-breadcrumb .breadcrumb { margin: 4px 0 0 !important; }
html.nd-live section.text-center:has(.blog-classic) {
  text-align: left !important;
  padding: 12px 0 0 !important;
}
html.nd-live section.text-center:has(.blog-classic) > .container > .row {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
  width: 100% !important;
  margin: 0 0 22px !important;
}
html.nd-live section.text-center:has(.blog-classic) > .container > .row > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
  height: auto !important;
  border: 0 !important;
  background: transparent !important;
  display: block !important;
}
html.nd-live section.text-center:has(.blog-classic) .blog-classic { height: auto; padding: 0 !important; margin: 0 !important; }
html.nd-live section.text-center:has(.blog-classic) .post {
  display: block;
  height: auto;
  background: #fff;
  border: 1px solid rgba(21, 32, 51, 0.12);
  border-radius: 6px;
  overflow: hidden;
}
html.nd-live section.text-center:has(.blog-classic) .post-desc {
  padding: 12px 14px !important;
  border-top: 4px solid #0473CC;
  background: #fff !important;
}
html.nd-live section.text-center:has(.blog-classic) .post-desc h5,
html.nd-live section.text-center:has(.blog-classic) .post-desc h5 a {
  color: #0e2744 !important;
  font-size: 1.05rem !important;
  font-weight: 600;
  text-transform: none !important;
  text-align: left;
}
html.nd-live section.text-center:has(.blog-classic) .post-bottom { height: auto !important; margin: 0 !important; padding: 10px 14px !important; }
html.nd-live section.text-center:has(.blog-classic) .post-bottom span {
  display: block;
  color: #4a6280 !important;
  font-size: 0.82rem !important;
  line-height: 1.35 !important;
  text-align: left;
}
html.nd-live section.text-center:has(.blog-classic) .post-meta {
  padding: 0 !important;
  margin: 0 0 8px !important;
  font-family: "IBM Plex Mono", monospace;
  font-size: 0.75rem !important;
  color: #0473CC !important;
}
html.nd-live section.text-center:has(.blog-classic) .post-bottom .post-btn {
  display: inline-flex !important;
  align-items: center;
  background: #0473CC !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 4px;
  font-size: 0.78rem !important;
  padding: 6px 12px !important;
  margin: 0 0 14px !important;
}
html.nd-live section.text-center:has(.blog-classic) .post-bottom .post-btn::before,
html.nd-live section.text-center:has(.blog-classic) .post-bottom .post-btn::after { display: none !important; content: none !important; }
/* Carte agence : une seule image visible (pas de defilement du carrousel). */
html.nd-live section.text-center:has(.blog-classic) .post > .owl-carousel { display: block !important; position: relative; overflow: hidden; }
html.nd-live section.text-center:has(.blog-classic) .post > .owl-carousel .owl-stage-outer { overflow: hidden !important; height: auto !important; }
html.nd-live section.text-center:has(.blog-classic) .post > .owl-carousel .owl-stage {
  transform: none !important;
  width: auto !important;
  display: block !important;
  left: auto !important;
}
html.nd-live section.text-center:has(.blog-classic) .post > .owl-carousel .owl-item {
  display: none !important;
  width: auto !important;
  float: none !important;
}
html.nd-live section.text-center:has(.blog-classic) .post > .owl-carousel .owl-item.active { display: block !important; }
html.nd-live section.text-center:has(.blog-classic) .post > .owl-carousel .owl-item img { width: 100%; height: auto; display: block; }
html.nd-live section.text-center:has(.blog-classic) .post > .owl-carousel .owl-nav,
html.nd-live section.text-center:has(.blog-classic) .post > .owl-carousel .owl-dots { display: none !important; }
/* Rail de modeles : 3 tuiles par ligne, sans carrousel JS. */
html.nd-live section.text-center:has(.blog-classic) > .container > .row > [class*="col-"]:last-child > .owl-carousel {
  display: flex !important;
  gap: 14px;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden;
  padding-bottom: 6px;
  scrollbar-width: thin;
  scroll-snap-type: x proximity;
}
html.nd-live section.text-center:has(.blog-classic) > .container > .row > [class*="col-"]:last-child > .owl-carousel .owl-stage-outer,
html.nd-live section.text-center:has(.blog-classic) > .container > .row > [class*="col-"]:last-child > .owl-carousel .owl-stage { display: contents !important; }
html.nd-live section.text-center:has(.blog-classic) > .container > .row > [class*="col-"]:last-child > .owl-carousel .owl-item {
  width: 290px !important;
  flex: 0 0 290px !important;
  margin: 0 !important;
  float: none !important;
  display: block !important;
  min-width: 0;
  scroll-snap-align: start;
}
html.nd-live section.text-center:has(.blog-classic) > .container > .row > [class*="col-"]:last-child > .owl-carousel .owl-item.cloned,
html.nd-live section.text-center:has(.blog-classic) > .container > .row > [class*="col-"]:last-child > .owl-carousel .owl-nav,
html.nd-live section.text-center:has(.blog-classic) > .container > .row > [class*="col-"]:last-child > .owl-carousel .owl-dots { display: none !important; }
html.nd-live .page-content:has(#nav-tab5) > section > .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
}
/* Listes createurs, types et fiches : pleine largeur, 3 colonnes, une seule image par carte. */
html.nd-live .page-wrapper:has(.blog-classic) > section.page-title {
  text-align: left !important;
  padding: 16px 0 4px !important;
}
html.nd-live .page-wrapper:has(.blog-classic) > section.page-title > .container,
html.nd-live .page-content:has(.blog-classic) .container {
  width: 100% !important;
  max-width: none !important;
  padding-left: 48px !important;
  padding-right: 48px !important;
}
html.nd-live .page-wrapper:has(.blog-classic) section.page-title .row,
html.nd-live .page-wrapper:has(.blog-classic) section.page-title .col-lg-8 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  flex: none !important;
  background: transparent !important;
}
html.nd-live .page-wrapper:has(.blog-classic) section.page-title nav.page-breadcrumb { justify-content: flex-start; }
html.nd-live .page-wrapper:has(.blog-classic) section.page-title nav.page-breadcrumb .breadcrumb { margin: 4px 0 0 !important; }
html.nd-live .page-content:has(.blog-classic) .row:has(> .col-sm-4):not(:has(> .col-sm-8)) {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: 100% !important;
  margin: 0 0 16px !important;
}
html.nd-live .page-content:has(.blog-classic) .row:has(> .col-sm-4):not(:has(> .col-sm-8)) > .col-sm-4 {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html.nd-live .page-content .post > .owl-carousel {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
html.nd-live .page-content .post > .owl-carousel .owl-stage-outer {
  display: block !important;
  overflow: hidden !important;
  width: 100% !important;
}
html.nd-live .page-content .post > .owl-carousel .owl-stage {
  display: block !important;
  transform: none !important;
  width: auto !important;
  left: auto !important;
}
html.nd-live .page-content .post > .owl-carousel .owl-item { display: none !important; width: 100% !important; }
html.nd-live .page-content .post > .owl-carousel .owl-item.active { display: block !important; }
html.nd-live .page-content .post > .owl-carousel .owl-item img { width: 100%; height: 180px; object-fit: cover; display: block; }
html.nd-live .page-content .post > .owl-carousel .owl-nav,
html.nd-live .page-content .post > .owl-carousel .owl-dots { display: none !important; }
html.nd-live .page-content .blog-classic .post-image {
  height: 220px !important;
  overflow: hidden !important;
  position: relative !important;
  background: #fff !important;
}
html.nd-live .page-content .blog-classic .post-image img {
  width: 100% !important;
  height: 220px !important;
  object-fit: contain !important;
  display: block !important;
}
html.nd-live .page-content .blog-classic .post-date { display: none !important; }
html.nd-live .page-content .blog-classic .social-icons.social-colored {
  position: absolute !important;
  top: 64px !important;
  right: 8px !important;
  left: auto !important;
  width: auto !important;
}
html.nd-live .page-content .blog-classic .service-description[style*="height"] {
  height: auto !important;
  display: flex !important;
  gap: 8px;
  align-items: center;
}
html.nd-live .page-content object,
html.nd-live .page-content embed {
  width: 100% !important;
  max-width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
