/* Catalogue REDGE : styles complémentaires, isolés du reste du site CVCS. */
.cvcs-redge { --redge-blue: var(--primary-color, #234982); --redge-blue-light: var(--secondary-color, #678fd5); --redge-ink: var(--title-font-color, #0a2540); --redge-soft: var(--tertiary-color, #f4f7fb); }
.cvcs-redge #subheader.cvcs-redge-hero { background: linear-gradient(112deg, #173660, var(--redge-blue) 60%, var(--redge-blue-light)); min-height: 290px; }
.cvcs-redge #subheader.cvcs-redge-hero h1 { color: #fff; }
.cvcs-redge #subheader .crumb { padding: 12px 0 0; margin: 0; list-style: none; }
.cvcs-redge #subheader .crumb li { color: #fff; }
.cvcs-redge #subheader .crumb li a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.cvcs-redge-section { padding: 64px 0; }
.cvcs-redge-section--muted { background: var(--redge-soft); }
.cvcs-redge h2, .cvcs-redge h3 { color: var(--redge-ink); }
.cvcs-redge-copy { max-width: 1080px; margin: 0 auto 32px; }
.cvcs-redge-copy > :last-child { margin-bottom: 0; }
.cvcs-redge-cards { margin-top: 20px; }
.cvcs-redge-card { overflow: hidden; background: #fff; border: 1px solid #e5eaf2; border-radius: 12px; box-shadow: 0 5px 24px rgba(8, 28, 60, .05); }
.cvcs-redge-card__media { display: block; background: #eaf0f8; aspect-ratio: 16 / 10; overflow: hidden; }
.cvcs-redge-card__media img { height: 100%; width: 100%; object-fit: contain; }
.cvcs-redge-card__placeholder { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; font-size: 48px; color: var(--redge-blue); }
.cvcs-redge-card__body { padding: 25px; }
.cvcs-redge-card__body h3 { font-size: 21px; line-height: 1.35; margin: 0 0 12px; }
.cvcs-redge-card__body h3 a { color: inherit; }
.cvcs-redge-card__body p { margin-bottom: 14px; }
.cvcs-redge-card__link { color: var(--redge-blue); font-weight: 700; }
.cvcs-redge-product__image { max-width: 780px; margin: 0 auto 35px; text-align: center; }
.cvcs-redge-product__image img { height: auto; }
.cvcs-redge-specs h2 { margin: 45px 0 20px; }
.cvcs-redge-specs .cvcs-redge-table-scroll { width: 100%; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.cvcs-redge-specs table { width: 100%; min-width: 650px; border-collapse: collapse; font-size: 14px; line-height: 1.45; }
.cvcs-redge-specs table th, .cvcs-redge-specs table td { padding: 12px 15px; border: 1px solid #dae3ee; text-align: left; vertical-align: middle; }
.cvcs-redge-specs table thead th { background: var(--redge-blue); color: #fff; font-weight: 650; }
.cvcs-redge-specs table tbody tr:nth-child(even) { background: #f7f9fc; }
.cvcs-redge-specs table caption { color: var(--redge-ink); text-align: left; caption-side: top; font-weight: 700; margin-bottom: 8px; }
.cvcs-redge-specs .cvcs-redge-source { display: block; font-size: 13px; color: #526375; margin: 10px 0 25px; }
.cvcs-redge-contact { display: flex; gap: 24px; justify-content: space-between; align-items: center; background: #fff; border: 1px solid #dae3ee; padding: 28px; border-radius: 12px; }
.cvcs-redge-contact h2 { font-size: 24px; margin: 0 0 9px; }
.cvcs-redge-contact p { margin: 0; }
.cvcs-redge-contact .btn-main { flex-shrink: 0; }
.cvcs-redge-related { margin-top: 55px; }
@media (max-width: 767px) {
  .cvcs-redge #subheader.cvcs-redge-hero { min-height: 260px; }
  .cvcs-redge #subheader.cvcs-redge-hero h1 { font-size: 32px; }
  .cvcs-redge-section { padding: 38px 0; }
  .cvcs-redge-contact { flex-direction: column; align-items: flex-start; }
  .cvcs-redge-contact .btn-main { width: 100%; white-space: normal; }
}

/* CVCS REDGE v0.5 - galerie / présentation produit, styles isolés. */
.cvcs-redge .cvcs-redge-pdp { display:grid;grid-template-columns:minmax(0, 0.95fr) minmax(0, 1.05fr);gap:34px;align-items:start;margin:0 0 48px; }
.cvcs-redge .cvcs-redge-pdp__media,.cvcs-redge .cvcs-redge-pdp__summary { min-width:0; }
.cvcs-redge .cvcs-redge-pdp__eyebrow {color:var(--redge-blue);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:750;margin:0 0 10px;}
.cvcs-redge .cvcs-redge-pdp__summary h2 {font-size:clamp(1.5rem,2.7vw,2.1rem);line-height:1.24;margin:0 0 20px;}
.cvcs-redge .cvcs-redge-pdp__lead {font-size:1.03rem;line-height:1.7;margin-bottom:20px;}
.cvcs-redge .cvcs-redge-pdp__features {display:flex;flex-wrap:wrap;gap:8px;margin:0 0 25px;}
.cvcs-redge .cvcs-redge-pdp__features span {display:inline-flex;align-items:center;border-radius:30px;padding:7px 12px;background:#e9f1fb;color:#234982;font-size:.83rem;font-weight:700;}
.cvcs-redge .cvcs-redge-pdp__metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px;}
.cvcs-redge .cvcs-redge-pdp__metrics > div {border:1px solid #e4eaf3;border-radius:11px;padding:13px 11px;background:#fff;}
.cvcs-redge .cvcs-redge-pdp__metrics strong {display:block;color:#234982;font-size:1.17rem;line-height:1.3;}
.cvcs-redge .cvcs-redge-pdp__metrics small {display:block;color:#536476;font-size:.77rem;line-height:1.35;margin-top:6px;}
.cvcs-redge .cvcs-redge-pdp__note {color:#5c6876;font-size:.84rem;line-height:1.55;margin-bottom:20px;}
.cvcs-redge .cvcs-redge-pdp__cta {margin:0;}
.cvcs-redge .cvcs-redge-gallery {border:1px solid #e2e9f2;border-radius:16px;padding:14px;background:#fff;box-shadow:0 12px 32px rgba(6,35,72,.06);}
.cvcs-redge .cvcs-redge-gallery__main {display:flex;align-items:center;justify-content:center;margin:0;border-radius:10px;background:#f4f7fb;aspect-ratio:1/1;overflow:hidden;}
.cvcs-redge .cvcs-redge-gallery__main-img {width:100%;height:100%;object-fit:contain;}
.cvcs-redge .cvcs-redge-gallery__thumbs {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px;}
.cvcs-redge .cvcs-redge-gallery__thumb {border:2px solid transparent;padding:4px;background:#f8fafc;border-radius:8px;cursor:pointer;aspect-ratio:1.1;overflow:hidden;}
.cvcs-redge .cvcs-redge-gallery__thumb img {width:100%;height:100%;object-fit:contain;}
.cvcs-redge .cvcs-redge-gallery__thumb[aria-pressed="true"] {border-color:#234982;}
.cvcs-redge .cvcs-redge-gallery__thumb:focus-visible {outline:3px solid #678fd5;outline-offset:2px;}
.cvcs-redge .cvcs-redge-gallery__placeholder {min-height:330px;aspect-ratio:1/1;border:2px dashed #d3ddeb;background:linear-gradient(140deg,#f7f9fc,#edf2f9);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#667790;text-align:center;padding:18px;}
.cvcs-redge .cvcs-redge-gallery__placeholder span {font-size:55px;font-weight:300;line-height:1.1;color:#97a9c3;}
.cvcs-redge .cvcs-redge-gallery__placeholder p {font-size:.88rem;margin:14px 0 0;}
@media (max-width: 991px) {.cvcs-redge .cvcs-redge-pdp {grid-template-columns:1fr;gap:25px;}.cvcs-redge .cvcs-redge-gallery {max-width:680px;margin:auto;}}
@media (max-width: 600px) {.cvcs-redge .cvcs-redge-pdp__metrics {grid-template-columns:1fr 1fr;}.cvcs-redge .cvcs-redge-pdp__metrics > div:last-child {grid-column:span 2;}.cvcs-redge .cvcs-redge-gallery__placeholder {min-height:230px;}}

/* CVCS REDGE TABLE UX V1 START - presentation responsive commune fiches ET gammes */
.cvcs-redge .cvcs-redge-table-scroll {
  max-width: 100%; width: 100%; margin: 22px 0 30px;
  overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain; border: 1px solid #dce5f1;
  border-radius: 14px; background: #fff;
  box-shadow: 0 8px 25px rgba(12, 38, 72, .065);
  scrollbar-color: #9fb4d3 #edf3fa; scrollbar-width: thin;
}
.cvcs-redge .cvcs-redge-table-scroll:focus-visible {
  outline: 3px solid #678fd5; outline-offset: 3px;
}
.cvcs-redge .cvcs-redge-table-scroll table {
  width: 100%; min-width: 740px; margin: 0 !important;
  border-spacing: 0; border-collapse: separate;
  color: #243a52; background: #fff;
  font-size: 15px; line-height: 1.55;
  table-layout: auto; text-align: left;
}
.cvcs-redge .cvcs-redge-table-scroll table th,
.cvcs-redge .cvcs-redge-table-scroll table td {
  padding: 16px 20px !important; border: 0 !important;
  border-bottom: 1px solid #e3ebf5 !important;
  border-right: 1px solid #eaf0f6 !important;
  vertical-align: middle; text-align: left; white-space: normal;
  overflow-wrap: normal; word-break: normal;
}
.cvcs-redge .cvcs-redge-table-scroll table tr > :last-child { border-right: 0 !important; }
.cvcs-redge .cvcs-redge-table-scroll table tbody tr:last-child > * { border-bottom: 0 !important; }
.cvcs-redge .cvcs-redge-table-scroll table thead th {
  background: #234982 !important; color: #fff !important;
  font-weight: 750; line-height: 1.45;
  border-bottom-color: #234982 !important;
  border-right-color: rgba(255,255,255,.18) !important;
  min-width: 145px;
}
.cvcs-redge .cvcs-redge-table-scroll table tbody tr:nth-child(even) > * { background: #f5f8fc; }
.cvcs-redge .cvcs-redge-table-scroll table tbody tr:hover > * { background: #eaf2fc; }
.cvcs-redge .cvcs-redge-table-scroll table tbody th[scope="row"] {
  min-width: 185px; color: #15385f; font-weight: 750; white-space: normal;
}
.cvcs-redge .cvcs-redge-table-scroll table caption {
  caption-side: top; padding: 14px 20px; margin: 0;
  color: #0a2540; font-weight: 700; text-align: left;
}
@media (max-width: 767px) {
  .cvcs-redge .cvcs-redge-table-scroll { margin: 18px 0 25px; border-radius: 12px; }
  .cvcs-redge .cvcs-redge-table-scroll table { min-width: 680px; font-size: 14px; }
  .cvcs-redge .cvcs-redge-table-scroll table th,
  .cvcs-redge .cvcs-redge-table-scroll table td { padding: 13px 16px !important; }
}
/* CVCS REDGE TABLE UX V1 END */

/* CVCS_REDGE_SUBHEADER_PARALLAX_V1_BEGIN
   Fond panoramique REDGE identique pour catalogue, catégories, gammes et fiches.
   Overlay inspiré de #subheader.jarallax.de-overlay de « Nos Services ».
   Aucun style global ou contenu technique modifié. */
.cvcs-redge #subheader.cvcs-redge-hero.jarallax {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 335px;
  background: linear-gradient(110deg, #102e51 0%, #214b78 58%, #3d6691 100%);
}
.cvcs-redge #subheader.cvcs-redge-hero .cvcs-redge-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.cvcs-redge #subheader.cvcs-redge-hero .cvcs-redge-hero__image,
.cvcs-redge #subheader.cvcs-redge-hero .cvcs-redge-hero__media > .jarallax-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: right center;
  opacity: .98;
}
.cvcs-redge #subheader.cvcs-redge-hero .cvcs-redge-hero__overlay.de-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg,
    rgba(10, 37, 64, .95) 0%,
    rgba(14, 46, 78, .90) 35%,
    rgba(17, 55, 90, .70) 60%,
    rgba(17, 55, 90, .30) 100%);
  pointer-events: none;
}
.cvcs-redge #subheader.cvcs-redge-hero > .container {
  position: relative;
  z-index: 3;
}
.cvcs-redge #subheader.cvcs-redge-hero h1,
.cvcs-redge #subheader.cvcs-redge-hero .crumb,
.cvcs-redge #subheader.cvcs-redge-hero .crumb li,
.cvcs-redge #subheader.cvcs-redge-hero .crumb a {
  color: #fff;
  text-shadow: 0 1px 6px rgba(5, 20, 39, .28);
}
@media (max-width: 991.98px) {
  .cvcs-redge #subheader.cvcs-redge-hero.jarallax { min-height: 290px; }
  .cvcs-redge #subheader.cvcs-redge-hero .cvcs-redge-hero__image,
  .cvcs-redge #subheader.cvcs-redge-hero .cvcs-redge-hero__media > .jarallax-img {
    object-fit: cover;
    object-position: center center;
    opacity: .48;
  }
  .cvcs-redge #subheader.cvcs-redge-hero .cvcs-redge-hero__overlay.de-overlay {
    background: linear-gradient(90deg, rgba(10, 37, 64, .95), rgba(10, 37, 64, .77));
  }
}
@media (max-width: 575.98px) {
  .cvcs-redge #subheader.cvcs-redge-hero.jarallax { min-height: 255px; }
  .cvcs-redge #subheader.cvcs-redge-hero h1 { font-size: clamp(1.55rem, 6vw, 2rem); line-height: 1.2; }
}
@media (prefers-reduced-motion: reduce) {
  .cvcs-redge #subheader.cvcs-redge-hero .cvcs-redge-hero__image {
    transform: none !important;
    animation: none !important;
  }
}
/* CVCS_REDGE_SUBHEADER_PARALLAX_V1_END */
