:root.dxpr-scheme-custom {
  --dxt-color-base: #263e83;
  --dxt-color-basetext: #ffffff;
  --dxt-color-link: #263e83;
  --dxt-color-accent1: #00a6aa;
  --dxt-color-accent1text: #333333;
  --dxt-color-accent2: #fafafa;
  --dxt-color-accent2text: #ffffff;
  --dxt-color-text: #555555;
  --dxt-color-headings: #333333;
  --dxt-color-card: #ffffff;
  --dxt-color-cardtext: #003366;
  --dxt-color-footer: #003366;
  --dxt-color-footertext: #333333;
  --dxt-color-secheader: #003366;
  --dxt-color-secheadertext: #ffffff;
  --dxt-color-header: #ffffff;
  --dxt-color-headertext: #333333;
  --dxt-color-headerside: #333333;
  --dxt-color-headersidetext: #333333;
  --dxt-color-pagetitle: #ffffff;
  --dxt-color-pagetitletext: #526372;
  --dxt-color-graylight: #cccccc;
  --dxt-color-graylighter: #ededed;
  --dxt-color-silver: #fafafa;
  --dxt-color-body: #ffffff;
  --dxt-color-header-rgb: 255,255,255;
  --dxt-color-basesubtle: color-mix(in srgb, white 80%, var(--dxt-color-base));
  --dxt-color-basesubtletext: color-mix(in srgb, black 60%, var(--dxt-color-base));
  --dxt-color-accent1subtle: color-mix(in srgb, white 80%, var(--dxt-color-accent1));
  --dxt-color-accent1subtletext: color-mix(in srgb, black 60%, var(--dxt-color-accent1));
  --dxt-color-accent2subtle: color-mix(in srgb, white 80%, var(--dxt-color-accent2));
  --dxt-color-accent2subtletext: color-mix(in srgb, black 60%, var(--dxt-color-accent2));
  --dxt-color-headingssubtle: color-mix(in srgb, white 80%, var(--dxt-color-headings));
  --dxt-color-headingssubtletext: color-mix(in srgb, black 60%, var(--dxt-color-headings));
  --bs-primary: var(--dxt-color-base);
  --bs-secondary: var(--dxt-color-accent1);
  --bs-primary-text-emphasis: color-mix(in srgb, black 60%, var(--dxt-color-base));
  --bs-secondary-text-emphasis: color-mix(in srgb, black 60%, var(--dxt-color-accent1));
  --bs-primary-bg-subtle: color-mix(in srgb, white 80%, var(--dxt-color-base));
  --bs-secondary-bg-subtle: color-mix(in srgb, white 80%, var(--dxt-color-accent1));
  --bs-primary-border-subtle: color-mix(in srgb, white 60%, var(--dxt-color-base));
  --bs-secondary-border-subtle: color-mix(in srgb, white 60%, var(--dxt-color-accent1));
  --bs-body-color: var(--dxt-color-text);
  --bs-body-bg: var(--dxt-color-body);
  --bs-heading-color: var(--dxt-color-headings);
  --bs-link-color: var(--dxt-color-link);
  --bs-link-hover-color: var(--dxt-color-accent1);
  --bs-code-color: var(--dxt-color-base);
  --bs-border-color: var(--dxt-color-graylighter);
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-light: var(--dxt-color-silver);
  --bs-dark: var(--dxt-color-headings);
  --bs-light-text-emphasis: var(--dxt-color-text);
  --bs-dark-text-emphasis: var(--dxt-color-headings);
  --bs-light-bg-subtle: var(--dxt-color-silver);
  --bs-dark-bg-subtle: color-mix(in srgb, white 80%, var(--dxt-color-headings));
  --bs-light-border-subtle: var(--dxt-color-graylighter);
  --bs-dark-border-subtle: var(--dxt-color-headings);
  --bs-emphasis-color: var(--dxt-color-headings);
  --bs-secondary-color: var(--dxt-color-text);
  --bs-secondary-bg: var(--dxt-color-card);
  --bs-tertiary-color: var(--dxt-color-text);
  --bs-tertiary-bg: var(--dxt-color-silver);
  --bs-primary-rgb: 38, 62, 131;
  --bs-secondary-rgb: 0, 166, 170;
  --bs-body-color-rgb: 85, 85, 85;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-emphasis-color-rgb: 51, 51, 51;
  --bs-link-color-rgb: 38, 62, 131;
  --bs-link-hover-color-rgb: 0, 166, 170;
  --bs-light-rgb: 250, 250, 250;
  --bs-dark-rgb: 51, 51, 51;
  --bs-secondary-bg-rgb: 255, 255, 255;
  --bs-tertiary-bg-rgb: 250, 250, 250;
}

/* Custom CSS */
/*@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,600;1,600&family=Spectral:ital,wght@0,200;0,300;0,400;0,500;0,600;1,200;1,300;1,400;1,500;1,600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined');*/

/* ===== ADMIN ===== */
.chosen-container .chosen-drop,
.ts-wrapper .ts-dropdown { position: relative !important; }
.panel { background-color: transparent; }
.btn-default { color: #fff; }
.html .ui-widget-content, .html .ui-widget-header, .html .ui-state-hover, .html .ui-widget-content .ui-state-hover, .html .ui-widget-header .ui-state-hover, .html .ui-state-focus, .html .ui-widget-content .ui-state-focus, .html .ui-widget-header .ui-state-focus, .html .ui-state-active, .html .ui-widget-content .ui-state-active, .html .ui-widget-header .ui-state-active, .html .ui-state-highlight, .html .ui-widget-content .ui-state-highlight, .html .ui-widget-header .ui-state-highlight, .html .ui-state-error, .html .ui-widget-content .ui-state-error, .html .ui-widget-header .ui-state-error { background-color: #fff;}

/* FIX 2026-10 : suppression de la ligne "---" invalide qui annulait la règle ci-dessous */
a, .btn-link, .nav-link { text-decoration: none !important; }
h1, h2, h3, h4 { color: var(--vicat-blue);}
.html button:focus, .html input[type=button]:focus, .html input[type=submit]:focus, .html input[type=reset]:focus, .html .btn:focus { outline: none !important;
}
/* FIX 2026-10 : suppression de l'ancienne règle #navbar (position absolute + dégradé noir), écrasée par le header et source de risques */

#chiffres{height:150px; max-height:150px;}

#degrade::before,
#degrade::after {content: '';position: absolute;left: 0;right: 0;height: 120px;}
#degrade::before {top: 0;background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8), transparent);}
#degrade::after {bottom: 0;background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent);}

.dxpr-theme-footer .footer-container {padding-top: 0px;}

.dxpr-theme-util-color-white > *,
.dxpr-theme-util-color-white a { color: var(--white) !important; }

[data-schema-field] {
  display: none;
}
#block-implantation-schema-org-centrale-beton,
#block-dxpr-theme-views-block-produits-schema-org-block-1 { display: none;}

.html .dxpr-theme-util-overlay-20:after,.html .dxpr-theme-util-overlay-20 .YTPOverlay { opacity: .2 }
.html .dxpr-theme-util-overlay-40:after,.html .dxpr-theme-util-overlay-40 .YTPOverlay { opacity: .4 }
.html .dxpr-theme-util-overlay-60:after,.html .dxpr-theme-util-overlay-60 .YTPOverlay { opacity: .6 }
.html .dxpr-theme-util-overlay-80:after,.html .dxpr-theme-util-overlay-80 .YTPOverlay { opacity: .8 }

/*-----------------------*/
/* --PAGE D'ACCUEIL- */
/*-----------------------*/
.inlinePlayButton, .inlinePlayButtonMobile{display:none!important;}

.hover-style-Jw4cghm0r {
  position: relative;
  overflow: hidden;
}

.hover-style-Jw4cghm0r::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: inherit;
  animation: kenBurns 20s ease-in-out infinite alternate;
  z-index: -1;
}

@keyframes kenBurns {
  0% { transform: scale(1); }
  100% { transform: scale(1.3); }
}
/* SERVICES */
#home-services .card { height: 230px; min-height: 230px;}
#home-services .card h3 { font-weight: 600 !important }
#home-services .card p { font-size: 0.875rem;}

.svc-tools { display: flex; flex-direction: column; gap: .75rem; }
.svc-tool { display: flex; align-items: center; gap: 1rem; background: white; border: 1px solid var(--grey-200); padding: 1rem 1.25rem; }
.svc-tool-name { font-size: .92rem; font-weight: 600; color: var(--vicat-blue); }
.svc-tool-meta { font-size: .8rem; color: var(--grey-600); }
.svc-tool-rate { font-size: .78rem; font-weight: 600; color: white; background: var(--vicat-blue); padding: .25rem .625rem; white-space: nowrap; }

/*----------------------------------------------*/
/*-----------------FIL ARIANE----------------*/
/*---------------------------------------------*/
nav.breadcrumb > ul > li > a, nav.breadcrumb > ul > li > span {color: var(--grey-500);}
.breadcrumb {padding: 1rem 0;margin-top: 0;margin-bottom: 0;list-style: none;background-color: transparent;}
.breadcrumb ul {display: flex;flex-wrap: wrap;list-style: none;margin: 0;padding: 0;gap:0.5rem}
.breadcrumb li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.breadcrumb li::before { content: none;}
.breadcrumb li:not(:last-child)::after {content: '';display: block; width: 4px;height: 4px;background: var(--vicat-gold);border-radius: 50%;}
.breadcrumb li span[aria-current="page"] {
    color: var(--grey-700);
    font-weight: 600;
}

/* ==========================================================================
   BLOC: SECTION TITLE
   ========================================================================== */
.v-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--vicat-teal);
    margin-bottom: 0.75rem;
}

.v-eyebrow::before,
.v-eyebrow::after {
    content: '';
    width: 2rem;
    height: 1px;
    background: var(--vicat-gold);
}

.eyebrow {
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--vicat-blue);
    margin-bottom: 0.75rem;
}

.v-title {
    font-family: var(--font-display);
    font-size: 3rem;
    font-weight: 400;
    color: var(--vicat-blue);
    margin-bottom: 0.75rem;
}
.dxpr-theme-util-color-white .v-title { color: var(--white) !important;}
.v-titletext {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--vicat-blue);
    margin-bottom: 1rem;
}

.filet-blue { border-left: 3px solid var(--vicat-blue); padding-left: 2rem;}

/* ==========================================================================
   Card Simple
   ========================================================================== */
.card { border:0; transition: all var(--transition-fast);cursor: pointer; border-radius: initial; }
.card-body {
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    transition: all var(--transition-fast);
    --bs-card-border-width:0
}

.card-body:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}
.dxpr-theme-util-background-primary .card-body h3 { font-size: 1rem; letter-spacing: 0.1px}
.card-simple-img {
    aspect-ratio: 6/8;
    overflow: hidden;
}
.dxpr-theme-util-background-primary .card-body h3 a { text-decoration: none;}

.card-simple-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.card-simple:hover .card-simple-img img {
    transform: scale(1.05);
}

.card-simple-content {
    padding: 1.25rem;
}

.card-simple-title {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 500!important;
    color: var(--vicat-blue) !important;
    margin-bottom: 0.375rem;
}

.card-simple-desc {
    font-size: 1rem;
    color: var(--grey-500);
    margin-bottom: 1rem;
}
.card.dxpr-theme-util-background-primary:hover {
    background: var(--vicat-blue-light) !important;
    border-color: var(--vicat-blue-light) !important;
    transform: translateY(-4px);
    text-decoration: none;
}
.card .btn-link {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    color: var(--vicat-teal) !important;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
letter-spacing: 1px;
}

.card .btn-link:hover { gap: 0.625rem; }
#card-hero {background: rgba(255, 255, 255, 0.08) !important;border: 1px solid rgba(255, 255, 255, 0.18); color: var(--white) !important; }

.card hr { margin: 1rem 0; border-top: 1px solid var(--grey-400); }

/* ==========================================================================
   Temoignage
   ========================================================================== */
.quote-temoignage { font-size: 3rem;color: var(--vicat-gold);opacity: 0.5; line-height: 1; margin-bottom: 1rem;}

/*----------------------------------------------*/
/*-----------------PRODUITS----------------*/
/*---------------------------------------------*/
#produit-texte{-webkit-box-shadow: 0 4px 14px 0 rgb(96 152 220 / 20%);box-shadow: 0 4px 14px 0 rgb(96 152 220 / 20%);color:white;border-radius: 0.625rem;}
#produit-texte > h1{color:white!important;}
#produit-texte2{-webkit-box-shadow: 0 4px 14px 0 rgb(96 152 220 / 20%);box-shadow: 0 4px 14px 0 rgb(96 152 220 / 20%);margin-top:7%;border-radius: 0.625rem;}
#produit-texte, #produit-texte2 {padding: 5% 5%;}
.cat-hero-stats {
    display: flex;
    gap: 2rem;
}
.produit-texte2 h2,
.produit-texte2 h3 { display: block;}

.hero-stat { text-align: center; }

.hero-stat-number {
    display: block;
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--vicat-gold);
    line-height: 1;
}

.hero-stat-label {
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    opacity: 0.8;
    margin-top: 0.25rem;
}
.h-title-ciment,
.h-text-ciment { min-height: 230px; }
.h-text-160p { min-height: 160px; }
.h-text-210p { min-height: 210px; }
.h-text-415p { min-height: 415px; }
.max-w-300 { max-width: 300px !important;}

.dxpr-theme-util-background-white.dxpr-theme-util-overlay-80 { background-color: rgba(255, 255, 255, 0.80) !important; border: 1px solid var(--white); }
.dxpr-theme-util-background-white.dxpr-theme-util-overlay-60 { background-color: rgba(255, 255, 255, 0.60) !important; border: 1px solid var(--white); }
.dxpr-theme-util-background-white.dxpr-theme-util-overlay-40 { background-color: rgba(255, 255, 255, 0.40) !important; border: 1px solid var(--white); }
.dxpr-theme-util-background-white.dxpr-theme-util-overlay-20 { background-color: rgba(255, 255, 255, 0.1) !important; border: 1px solid rgba(255, 255, 255, .2);}

.more-link { text-align: center; margin-top: 3% }
.more-link a { 
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1.75rem;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 2px solid transparent;
    border-radius: 2px;
    transition: all var(--transition-fast);
    color: var(--vicat-blue) !important;
    border-color: var(--vicat-blue) !important;
text-decoration: none;
}
.col-sticky{
  position: sticky;
  top: 120px;
  align-self: flex-start;
}
@media (max-width: 767px){ 
.col-sticky{ position: static; } 
}

/* ==========================================================================
   TABS DXPR
   ========================================================================== */
.az-tabs,
.az-tabs .tab-content,
.az-tabs .tab-pane {
    overflow: visible !important;
}
#tab-produit > .nav.nav-tabs {
    width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    padding: 0 calc(50vw - 50%) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
    position: sticky !important;
    top: 80px !important;
    z-index: 100 !important;
}
.az-tabs > .nav.nav-tabs {
    display: flex !important;
    background: #ffffff !important;
    border: none !important;
    border-bottom: 1px solid #e8e8e8 !important;
}
.az-tabs > .nav.nav-tabs > .nav-item > .nav-link {
    padding: 1.25rem 1.5rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #666 !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;
}
.az-tabs > .nav.nav-tabs > .nav-item > .nav-link:hover {
    color: var(--vicat-blue) !important;
    background: #fafafa !important;
}
.az-tabs > .nav.nav-tabs > .nav-item > .nav-link.active {
    color: var(--vicat-blue)  !important;
    background: transparent !important;
    border-bottom-color: var(--vicat-gold) !important;
}
@media (max-width: 1023px) {
    .az-tabs > .nav.nav-tabs { top: 70px !important; }
}
.cem-card-gammes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.gamme-chip {
    display: inline-block;
    padding: 0.25rem 0.625rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 2px;
    background: var(--grey-100);
    color: var(--grey-600);
}

.gamme-chip[data-gamme="structurat"] { background: #e3f2fd; color: var(--color-structurat); }
.gamme-chip[data-gamme="naturat"] { background: #e8f5e9; color: var(--color-naturat); }
.gamme-chip[data-gamme="performat"] { background: #ffebee; color: var(--color-performat); }
.gamme-chip[data-gamme="extremat"] { background: #f3e5f5; color: var(--color-extremat); }
.gamme-chip[data-gamme="ultimat"] { background: #e0f7fa; color: var(--color-ultimat); }
.gamme-chip[data-gamme="optimat"] { background: #fff3e0; color: var(--color-optimat); }

/*----------------------------------------------*/
/*---------------APPLICATIONS---------------*/
/*---------------------------------------------*/
.accordion-header{width:100%;}
h2.accordion-header, h3.accordion-header {padding-bottom:0px;}
.accordion-button {
    background: var(--white);
    color: var(--vicat-blue);
    font-size: 1.25rem;
    font-weight: 500;
    padding: 1.5rem 1.75rem;
}
.accordion-button:not(.collapsed){background: var(--vicat-blue);color: var(--white);}

/*----------------------------------------------*/
/*---------------MISE EN PAGE---------------*/
/*---------------------------------------------*/
h1, h2, h3, h4 {
    font-weight: 400 !important;
    padding-bottom: 1.5%;
    display: inline-block;
    font-family: var(--font-display) !important;
    letter-spacing: -1px;
}

#produit-application1{padding: 12px 15px;margin-top: 20px!important;margin-bottom: 30px;list-style: none;background-color: #526372;color: white;border-radius: 0.625rem;margin-left: -15px;margin-right: -15px;}
#produit-section{margin-top:35px;}

#intro, #gbdwvkfxad{
    min-height:550px!important;
}
#intro .container { z-index:1;}
#intro::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--vicat-blue) 0%, var(--vicat-blue-dark) 100%);
}

.header-page, #header-page{min-height: 350px;padding: 3% 0 3% 0;}
#header-page h1, .header-page h1, #header-page-s h1, #header-page-deca h1 {font-size: 3.5rem; color:var(--white); padding: 0}
#header-page p, .header-page p, #header-page-s p, #header-page-deca p {font-size: 1rem; color:var(--white);}
#header-page p a, .header-page p a, #header-page-s p a, #header-page-deca p a { text-decoration: underline; color:var(--white);}
#header-page a.btn p, .header-page a.btn p, #header-page-s a.btn p, #header-page-deca a.btn p {font-size: 0.875rem;}
#header-page-s, .header-page-s, #header-page-s-grey, .header-page-s-grey {padding: 3% 0 3% 0;}
#header-page-s-grey { background: linear-gradient(135deg, var(--grey-50) 0%, var(--grey-200) 100%);}

#rea-min-height{height:242px}

#cta-b, #cta  { padding: 3% 0; }
#cta-b h2, #cta-b p { color: var(--white); }

#header-page-deca {min-height: 350px;padding: 3% 0 3% 0; }

#header-page-deca.dxpr-theme-util-background-primary,
#header-page-deca.bg-primary,
#header-page-deca.dxpr-theme-util-overlay-primary:after,
#header-page-deca.dxpr-theme-util-overlay-primary .YTPOverlay { background: linear-gradient(135deg, var(--success-green-dark) 0%, var(--success-green-dark) 100%) !important; }

.popover.show{opacity:1;pointer-events:auto;transition:opacity 0.15s linear;}

/* ==========================================================================
   VARIABLES
   ========================================================================== */
:root {
    --vicat-blue: #003366;
    --vicat-blue-light: #004d99;
    --vicat-blue-dark: #002244;
    --vicat-gold: #d6ad60;
    --vicat-gold-light: #e8c896;
    --vicat-teal: #00a6aa;
    --vicat-teal-dark: #008a8e;
    --vicat-orange: #ED9800;
    --vicat-orange-light: #FFCF7D;
--vicat-blue-podcast: #5271ff;
--vicat-stylperf:#007e82; 

    /* FIX 2026-10 : variable utilisée par [data-gamme] et les CTA, jamais définie */
    --action: var(--vicat-teal);

    --grey-50: #fafafa;
    --grey-100: #f4f4f4;
    --grey-200: #e8e8e8;
    --grey-300: #ddd;
    --grey-400: #999;
    --grey-500: #666;
    --grey-600: #555;
    --grey-700: #333;
    --grey-900: #1a1a1a;
--black: #000;

    --white: #ffffff;
    --success-green: #9ecbc7;
    --success-green-dark: #7ab5b0;

    --font-display: 'Spectral', 'Fraunces', Georgia, serif;
    --font-body: 'Jost', 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    --header-height: 80px;
    --header-height-mobile: 70px;
    --container-max-width: 1400px;

    --transition-fast: 0.2s ease;
    --transition-smooth: 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);

    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 20px 50px rgba(0, 0, 0, 0.12);
}
.html .dxpr-theme-util-background-primary, .html .bg-primary,
.html .dxpr-theme-util-overlay-primary:after,
.html .dxpr-theme-util-overlay-primary .YTPOverlay {background: linear-gradient(135deg, var(--vicat-blue) 0%, var(--vicat-blue-dark) 100%);}
.html .dxpr-theme-util-overlay-white:after,
.html .dxpr-theme-util-overlay-white .YTPOverlay { background-color: #ddd455;}
.card-subtitle { display:block; padding: 5px 0;color:var(--vicat-teal);font-size: 0.875rem;font-family: var(--font-body);}
p.text-size-m { font-size: 0.875rem !important; }
p.text-size-s { font-size: 0.75rem !important; }
p.text-size-l { font-size: 1rem !important; }
p.text-size-xl { font-size: 1.25rem !important; }
p.text-size-xxl { font-size: 1.5rem !important; }
.dxpr-theme-util-border-accent1 { border-top: 4px solid var(--vicat-teal); border-color: var(--vicat-teal) !important; }
.dxpr-theme-util-border-accent2 { border-top: 4px solid var(--vicat-gold); border-color: var(--vicat-gold) !important;}

.bg-success { background: linear-gradient(135deg, var(--success-green-dark) 0%, var(--success-green-dark) 100%) }
.btn-success { background-color: var(--success-green);}
.btn-success:focus, .btn-success:hover { background-color: var(--success-green-dark); }
.btn-success p { color: #fff;}
.btn.active.focus, .btn.active:focus, .btn.focus, .btn:active.focus, .btn:active:focus, .btn:focus { outline: 0; outline-offset: 0; }
.btn {border-radius: 0 !important;}
.btn-inline { display: inline-block; margin: 10px 10px 0 0;}

[data-gamme="structurat"]    { --gamme:#8e8777} 
[data-gamme="naturat"]  { --gamme:#347763}
[data-gamme="performat"]  { --gamme:#58878D }
[data-gamme="extremat"] { --gamme:#7B6D50 }
[data-gamme="ultimat"] { --gamme:#C71E4C }

[data-gamme="blancat"] { --gamme:#82256B }
[data-gamme="prompt"] { --gamme:#C3D21D }
[data-gamme="optimat"] { --gamme:#E73136 }
[data-gamme="e_extremat"] { --gamme:#7B6D50 }
[data-gamme="polycimat"] { --gamme:#487CA3 }

[data-gamme="bvperf"]    { --gamme:#8b7355 } 
[data-gamme="defiperf"]  { --gamme:#8c3347 }
[data-gamme="stylperf"]  { --gamme:#00a6aa }
[data-gamme="flexiperf"] { --gamme:#9fbc1e }
[data-activite="beton"]  { --activite:var(--vicat-teal) }
[data-activite="ciment"]  { --activite:var(--vicat-gold) }
/* repli : gamme → activité → action. Granulats/services (sans gamme) tombent sur l'activité. */
[data-gamme],[data-activite]{ --accent: var(--gamme, var(--activite, var(--action))) }

/* ==========================================================================
   HEADER - Structure principale
   ========================================================================== */
header#navbar.dxpr-theme-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000 !important;
    background: var(--white) !important;
    border: none !important;
    border-bottom: 1px solid var(--grey-200) !important;
    border-radius: 0 !important;
    box-shadow: var(--shadow-sm) !important;
    min-height: var(--header-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: var(--font-body) !important;
    -webkit-font-smoothing: antialiased;
}

header#navbar.dxpr-theme-header--overlay,
header#navbar.dxpr-theme-header--top {
    position: sticky !important;
    background: var(--white) !important;
}

header#navbar .dxpr-theme-fluid.navbar-container {
    max-width: var(--container-max-width) !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: var(--header-height) !important;
    float: none !important;
    position: initial;
}
.container { max-width: 1400px !important; }

/* ==========================================================================
   LOGO
   ========================================================================== */
header#navbar .navbar-header {
    display: flex !important;
    align-items: center !important;
    float: none !important;
    flex-shrink: 0;
}

header#navbar .wrap-branding {
    display: flex !important;
    align-items: center !important;
}

header#navbar a.logo.navbar-btn {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    height: auto !important;
}

header#navbar a.logo.navbar-btn img#logo {
    height: 30px !important;
    width: auto !important;
    max-width: 160px !important;
    filter: brightness(0) saturate(100%) invert(13%) sepia(62%) saturate(2878%) hue-rotate(198deg) brightness(97%) contrast(101%) !important;
}

/* ==========================================================================
   MENU BURGER (Mobile)
   ========================================================================== */
header#navbar #dxpr-theme-menu-toggle {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    width: 44px !important;
    height: 44px !important;
    padding: 10px !important;
    background: var(--vicat-blue) !important;
    border: none !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    order: 10;
    transition: background var(--transition-fast) !important;
}

/* Reset Bootstrap SVG par défaut */
header#navbar #dxpr-theme-menu-toggle .navbar-toggler-icon {
    background-image: none !important;
    display: block !important;
    background: #ffffff !important;
    height: 2px !important;
    width: 22px !important;
    border-radius: 2px !important;
    position: relative !important;
    transition: all 0.3s ease !important;
}

header#navbar #dxpr-theme-menu-toggle .navbar-toggler-icon::before,
header#navbar #dxpr-theme-menu-toggle .navbar-toggler-icon::after {
    content: '' !important;
    display: block !important;
    background: #ffffff !important;
    height: 2px !important;
    width: 22px !important;
    border-radius: 2px !important;
    position: absolute !important;
    left: 0 !important;
    transition: all 0.3s ease !important;
}

header#navbar #dxpr-theme-menu-toggle .navbar-toggler-icon::before { top: -7px !important; }
header#navbar #dxpr-theme-menu-toggle .navbar-toggler-icon::after  { top:  7px !important; }

/* État ouvert — BS5 retire .collapsed */
header#navbar #dxpr-theme-menu-toggle:not(.collapsed) .navbar-toggler-icon {
    background: transparent !important;
}
header#navbar #dxpr-theme-menu-toggle:not(.collapsed) .navbar-toggler-icon::before {
    top: 0 !important;
    transform: rotate(45deg) !important;
}
header#navbar #dxpr-theme-menu-toggle:not(.collapsed) .navbar-toggler-icon::after {
    top: 0 !important;
    transform: rotate(-45deg) !important;
}

/* Masquer sur desktop */
@media (min-width: 1024px) {
    header#navbar #dxpr-theme-menu-toggle { display: none !important; }
}

/* Masquer caret Bootstrap natif + caret niveau colonne (heading) */
header#navbar .caret,
header#navbar .dropdown-toggle .caret,
header#navbar .bs-dropdown-caret {
    display: none !important;
}

/* Séparateurs injectés */
header#navbar hr.block-hr { display: none !important; }

/* ==========================================================================
   NAVIGATION PRINCIPALE - Desktop
   ========================================================================== */
header#navbar nav#dxpr-theme-main-menu {
    display: none !important;
    flex: 1 !important;
    justify-content: center !important;
    position: static !important;
}

@media (min-width: 1024px) {
    header#navbar nav#dxpr-theme-main-menu {
        display: flex !important;
    }
}

header#navbar nav#dxpr-theme-main-menu .region-navigation-collapsible {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    float: none !important;
}

header#navbar #block-dxpr-theme-main-menu {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    flex: 1 !important;
    display: flex !important;
    justify-content: center !important;
}

/* Liste niveau 1 */
header#navbar ul.menu.nav.navbar-nav,
header#navbar ul.nav.navbar-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    float: none !important;
    flex-wrap: nowrap !important;
    flex-direction: initial;
}

/* Items niveau 1 */
header#navbar ul.nav.navbar-nav > li.nav-item {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}
.body--dxpr-theme-nav-desktop .dxpr-theme-header--top .dxpr-theme-main-menu .nav>li>.bs-dropdown-wrapper { height: auto;}

/* Liens niveau 1 — <a class="nav-link"> et <span class="nav-link"> */
header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item > a.nav-link,
header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item > span.nav-link,
header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item > div.bs-dropdown-wrapper > a.nav-link {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: var(--header-height) !important;
    padding: 0 1rem !important;
    margin: 0 !important;
    color: var(--vicat-blue) !important;
    font-family: var(--font-body) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: color var(--transition-fast) !important;
}

header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item > span.nav-link:hover,
header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item > span.nav-link:focus-visible,
header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item > a.nav-link:hover,
header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item > div.bs-dropdown-wrapper > a.nav-link:hover {
    color: var(--vicat-teal) !important;
    background: transparent !important;
}

/* Flèche dropdown — sur .dropdown-toggle */
header#navbar ul.nav.navbar-nav > li.nav-item.dropdown > span.nav-link.dropdown-toggle::after,
header#navbar ul.nav.navbar-nav > li.nav-item > div.bs-dropdown-wrapper > a.nav-link::after {
    content: '' !important;
    display: inline-block !important;
    width: 0 !important;
    height: 0 !important;
    margin-left: 6px !important;
    border-left: 4px solid transparent !important;
    border-right: 4px solid transparent !important;
    border-top: 5px solid currentColor !important;
    border-bottom: none !important;
    vertical-align: middle !important;
    transition: transform var(--transition-fast) !important;
}

header#navbar ul.nav.navbar-nav > li.nav-item.dropdown:hover > span.nav-link.dropdown-toggle::after,
header#navbar ul.nav.navbar-nav > li.nav-item:hover > div.bs-dropdown-wrapper > a.nav-link::after {
    transform: rotate(180deg) !important;
}

/* Item actif */
header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item.active > a.nav-link,
header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item.active > span.nav-link {
    color: var(--vicat-teal) !important;
    border-bottom: 4px solid var(--vicat-teal) !important;
}

/* ==========================================================================
   MEGA MENU - Panel level-2
   ========================================================================== */
header#navbar ul.nav.navbar-nav > li.nav-item > ul.dropdown-menu.level-2 {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: none !important;
    min-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    background: var(--white) !important;
    border: none !important;
    border-top: 1px solid var(--grey-200) !important;
    border-radius: 0 !important;
    box-shadow: var(--shadow-lg) !important;

    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(15px) !important;
    transition: all var(--transition-smooth) !important;

    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    pointer-events: none !important;
}

header#navbar ul.nav.navbar-nav > li.nav-item.dropdown:hover > ul.dropdown-menu.level-2,
header#navbar ul.nav.navbar-nav > li.nav-item.dropdown:focus-within > ul.dropdown-menu.level-2 {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
z-index: 1001;
}

/* ==========================================================================
   MEGA MENU - Colonnes : li.bs-dropdown-submenu
   ========================================================================== */
header#navbar ul.dropdown-menu.level-2 > li.bs-dropdown-submenu, header#navbar ul.dropdown-menu.level-2 > li {
    flex: 1 1 280px !important;
    max-width: 320px !important;
    min-width: 240px !important;
    padding: 2.5rem 2rem !important;
    margin: 0 !important;
    float: none !important;
    list-style: none !important;
    border-right: 1px solid var(--grey-100) !important;
}

header#navbar ul.dropdown-menu.level-2 > li.bs-dropdown-submenu:last-child,header#navbar ul.dropdown-menu.level-2 > li:last-child {
    border-right: none !important;
}

@media (min-width: 1200px) {
    header#navbar ul.dropdown-menu.level-2 > li.bs-dropdown-submenu, header#navbar ul.dropdown-menu.level-2 > li {
        flex: 0 0 300px !important;
    }
}

/* ----- PRODUITS — textures par colonne ----- */
#block-dxpr-theme-main-menu > ul > li:nth-child(1) > ul > li:nth-child(1) { background-image: url(/sites/default/files/2024-02/ciment-texture.png); background-size: 45px; background-position-x: 2rem; background-position-y: 33px; background-repeat: no-repeat;}
#block-dxpr-theme-main-menu > ul > li:nth-child(1) > ul > li:nth-child(2) { background-image: url(/sites/default/files/2024-02/granulats-texture-2.png); background-size: 45px; background-position-x: 2rem; background-position-y: 33px; background-repeat: no-repeat;}
#block-dxpr-theme-main-menu > ul > li:nth-child(1) > ul > li:nth-child(3) { background-image: url(/sites/default/files/2024-02/beton-texture.png); background-size: 45px; background-position-x: 2rem; background-position-y: 33px; background-repeat: no-repeat;}

/* ----- APPLICATIONS — fonds illustrés ----- */
#block-dxpr-theme-main-menu>ul>li:nth-child(3)>ul>li:nth-child(1)>a,
#block-dxpr-theme-main-menu>ul>li:nth-child(3)>ul>li:nth-child(2)>a,
#block-dxpr-theme-main-menu>ul>li:nth-child(3)>ul>li:nth-child(3)>a,
#block-dxpr-theme-main-menu>ul>li:nth-child(3)>ul>li:nth-child(4)>a,
#block-dxpr-theme-main-menu>ul>li:nth-child(3)>ul>li:nth-child(5)>a,
#block-dxpr-theme-main-menu>ul>li:nth-child(3)>ul>li:nth-child(6)>a {
    color: var(--vicat-blue) !important;
    font-size: .875rem;
    font-weight: 500;
    position: relative;
    margin-top: 100%;
    text-align: center;
    text-transform: uppercase
}
#block-dxpr-theme-main-menu>ul>li:nth-child(3)>ul>li { background-size: 90%; background-position-x: center; background-position-y: 20px; background-repeat: no-repeat; }

#bkg-app-maison-individuelle, 
#block-dxpr-theme-main-menu > ul > li:nth-child(3) > ul > li:nth-child(1){
background-image: url(/sites/default/files/2026-04/application-maison-individuelle.jpg);}

#bkg-app-batiment-collectif, 
#block-dxpr-theme-main-menu > ul > li:nth-child(3) > ul > li:nth-child(2){
background-image: url(/sites/default/files/2026-04/application-batiment-collectif.jpg);}

#bkg-app-batiment-industriel, 
#block-dxpr-theme-main-menu > ul > li:nth-child(3) > ul > li:nth-child(3){
background-image: url(/sites/default/files/2026-04/application-batiment-industriel.jpg);}

#bkg-app-travaux-public, 
#block-dxpr-theme-main-menu > ul > li:nth-child(3) > ul > li:nth-child(4){
background-image: url(/sites/default/files/2026-04/application-travaux-public.jpg);}

#bkg-app-genie-civil, 
#block-dxpr-theme-main-menu > ul > li:nth-child(3) > ul > li:nth-child(5){
background-image: url(/sites/default/files/2026-04/application-genie-civil.jpg);}

#bkg-app-batiment-agricole, 
#block-dxpr-theme-main-menu > ul > li:nth-child(3) > ul > li:nth-child(6){
background-image: url(/sites/default/files/2026-04/application-batiment-agricole.jpg);}

#bkg-app-maison-individuelle, #bkg-app-batiment-collectif, #bkg-app-batiment-industriel, #bkg-app-travaux-public, #bkg-app-genie-civil, #bkg-app-batiment-agricole {
background-size: contain; background-position: center center; background-repeat: no-repeat;
}

/* Liens Applications — style illustré */
#block-dxpr-theme-main-menu > ul > li:nth-child(3) > ul > li > div.bs-dropdown-item-wrapper > a.dropdown-item {
    color: var(--vicat-blue);
    font-size: 0.875rem;
    font-weight: 500;
    position: relative;
    margin-top: 110%;
    text-align: center;
    text-transform: uppercase;
}

/* ==========================================================================
   MEGA MENU - Heading de colonne
   div.bs-dropdown-item-wrapper > a.dropdown-item
   ========================================================================== */
header#navbar li.bs-dropdown-submenu > div.bs-dropdown-item-wrapper > a.dropdown-item {
    display: block !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: var(--vicat-blue) !important;
    text-transform: none !important;
    letter-spacing: 1px !important;
    padding: 0 0 0.875rem 0 !important;
    margin: 0 0 1.25rem 4rem !important;
    border-bottom: 2px solid var(--vicat-gold) !important;
    background: transparent !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    transition: color var(--transition-fast) !important;
}

header#navbar li.bs-dropdown-submenu > div.bs-dropdown-item-wrapper > a.dropdown-item:hover {
    color: var(--vicat-teal) !important;
    background: transparent !important;
}

/* Masquer le caret BS5 injecté à côté du heading */
header#navbar li.bs-dropdown-submenu > div.bs-dropdown-item-wrapper > button.bs-dropdown-caret {
    display: none !important;
}

/* Masquer les spans texte seuls (FICHES SERVICES, FAQ…) dans level-2 */
header#navbar ul.dropdown-menu.level-2 > li > span.dropdown-item {
    display: none !important;
}

/* ==========================================================================
   MEGA MENU - Listes niveau 3 : ul.dropdown-menu.level-3plus
   ========================================================================== */
header#navbar ul.dropdown-menu.level-3plus {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    position: static !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    min-width: 0 !important;
    width: auto !important;
    float: none !important;
}

header#navbar ul.dropdown-menu.level-3plus > li {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
    list-style: none !important;
}

/* Liens niveau 3 */
header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item {
    display: block !important;
    padding: 0.5rem 0 !important;
    margin: 0 !important;
    color: var(--grey-600) !important;
    font-family: var(--font-body) !important;
    font-size: 0.9375rem !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    line-height: 1.4 !important;
    transition: all var(--transition-fast) !important;
    position: relative !important;
    white-space: normal !important;
}

header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item:hover {
    color: var(--vicat-teal) !important;
    padding-left: 8px !important;
    background: transparent !important;
}

/* Indicateur survol (barre) */
header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item::before {
    content: '' !important;
    position: absolute !important;
    left: -12px !important;
    top: 50% !important;
    transform: translateY(-50%) scaleX(0) !important;
    width: 3px !important;
    height: 60% !important;
    background: var(--vicat-teal) !important;
    border-radius: 2px !important;
    transition: transform var(--transition-fast) !important;
}

header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item:hover::before {
    transform: translateY(-50%) scaleX(1) !important;
}

/* ==========================================================================
   BADGES AUTOMATIQUES
   ========================================================================== */
header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item[href*="bas-carbone"]::after,
header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item[href*="deca"]::after {
    content: 'DECA' !important;
    display: inline-block !important;
    margin-left: 8px !important;
    padding: 2px 6px !important;
    background: var(--success-green) !important;
    color: var(--vicat-blue) !important;
    font-size: 0.625rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 2px !important;
    vertical-align: middle !important;
    line-height: 1.2 !important;
}

header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item[href*="recycle"]::after,
header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item[href*="recyclé"]::after {
    content: 'REVY' !important;
    display: inline-block !important;
    margin-left: 8px !important;
    padding: 2px 6px !important;
    background: #e3f2fd !important;
    color: #1565c0 !important;
    font-size: 0.625rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border-radius: 2px !important;
    vertical-align: middle !important;
    line-height: 1.2 !important;
}

header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item[href^="http"]:not([href*="vicat"]):not([href*="bas-carbone"])::after {
    content: '↗' !important;
    display: inline-block !important;
    margin-left: 4px !important;
    font-size: 0.875em !important;
    opacity: 0.6 !important;
}

/* ==========================================================================
   BOUTON CONTACT
   ========================================================================== */
header#navbar #block-useraccountmenu,
header#navbar .block-system-menu-blockaccount {
    margin-left: auto !important;
    float: none !important;
}

header#navbar #block-useraccountmenu ul.nav {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

header#navbar #block-useraccountmenu ul.nav > li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

header#navbar #block-useraccountmenu ul.nav > li > a.nav-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.75rem 1.5rem !important;
    background: var(--vicat-teal) !important;
    color: var(--white) !important;
    font-family: var(--font-body) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    border: 2px solid var(--vicat-teal) !important;
    border-radius: 3px !important;
    transition: all var(--transition-fast) !important;
    white-space: nowrap !important;
}

header#navbar #block-useraccountmenu ul.nav > li > a.nav-link:hover {
    background: var(--vicat-teal-dark) !important;
    border-color: var(--vicat-teal-dark) !important;
    color: var(--white) !important;
}

/* ==========================================================================
   ACCESSIBILITÉ & FOCUS
   ========================================================================== */
header#navbar a:focus-visible,
header#navbar button:focus-visible {
    outline: 2px solid var(--vicat-teal) !important;
    outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
    header#navbar *,
    header#navbar *::before,
    header#navbar *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ==========================================================================
   FIXES SPÉCIFIQUES DXPR
   ========================================================================== */
header#navbar .dropdown-menu > li > a:hover,
header#navbar .dropdown-menu > li > a:focus {
    background-color: transparent !important;
    background-image: none !important;
}

header#navbar .nav > li > a:hover,
header#navbar .nav > li > a:focus {
    background-color: transparent !important;
}

header#navbar .navbar-nav > li > .dropdown-menu {
    margin-top: 0 !important;
}

/* ==========================================================================
   HERO
   ========================================================================== */
#hero-btn, .hero-btn, #hero-info { display: flex; gap: 1rem;flex-wrap: wrap;}
#hero-info { margin-bottom: 10px; }
#hero-info span.material-symbols-outlined { color: var(--vicat-teal) !important; font-size: 1rem; line-height: 1.8; margin: 0 5px; }

/* ==========================================================================
   BOUTONS
   ========================================================================== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 1.75rem;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: 2px solid transparent;
    border-radius: 2px;
    transition: all var(--transition-fast);
}

.btn:hover { border-color: transparent; text-decoration: none; }
.btn-primary {
    background-color: var(--vicat-teal) !important;
    color: var(--white) !important;
    border-color: var(--vicat-teal) !important;
}
.btn-primary:hover,
.btn-primary:focus-visible {
    color: var(--white);
    background-color: var(--vicat-teal-dark) !important;
    border-color: var(--vicat-teal-dark) !important;
}
.btn-secondary {
    background-color: var(--vicat-blue) !important;
    color: var(--white) !important;
    border-color: var(--vicat-blue) !important;
}
.btn-filled .btn-secondary { background-color: transparent !important;
color: var(--vicat-blue) !important;
}
.btn-filled .btn-secondary:hover,
.btn-filled .btn-secondary:focus-visible,
.btn-filled .btn-secondary:active { 
background-color: var(--vicat-blue) !important;
    border-color: var(--vicat-blue) !important;
color: var(--white) !important;
}


.btn-secondary:hover,
.btn-secondary:focus-visible,
.btn-secondary:active {
    background-color: var(--vicat-blue-light) !important;
    border-color: var(--vicat-blue-light) !important;
color: var(--white) !important;
}
.btn-secondary:hover p,
.btn-secondary:hover div,
.btn-secondary:focus-visible p,
.btn-secondary:focus-visible div,
.btn-secondary:active p,
.btn-secondary:active div { color: var(--white); }
.btn-link {
    background: transparent;
    color: var(--white) !important;
    border-color: var(--white);
    text-decoration: none;
}
.btn-sm {
    padding: 0.25rem 0.625rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.btn-link:hover,
.btn-outline:focus-visible {
    background: var(--white);
    color: var(--vicat-blue) !important;
    text-decoration: none;
}
.btn-link:hover p { color: var(--vicat-blue) !important;}
.btn-sm p { font-size:0.6875rem !important; }
.btn-warning { background-color: var(--vicat-gold);border-color: var(--vicat-gold); }
.btn-warning:hover { background: var(--vicat-gold-light); }
.btn-warning p { color: var(--vicat-blue) !important; }
.bkg-podcast .btn.btn-primary { background-color: var(--vicat-blue-podcast) !important; border-color: var(--vicat-blue-podcast) !important; }
.bkg-podcast .btn.btn-link { border-color: var(--vicat-blue-podcast) !important;  }
.bkg-podcast .btn.btn-link p {color: var(--vicat-blue-podcast) !important; }
.bkg-podcast .btn.btn-link:hover { background-color: var(--vicat-blue-podcast) !important; }
.bkg-podcast .btn.btn-link:hover p { color: white !important; }
/* ===== ELEMENT JUMOTRON ===== */
.jumbotron p { font-weight: normal; }
.container .jumbotron, .container-fluid .jumbotron { padding: 1.5rem !important; background: var(--grey-50) !important; border-left: 4px solid var(--vicat-gold);}
.container .jumbotron .container-fluid, .container-fluid .jumbotron .container-fluid { padding: 0 !important}
.container .jumbotron p {font-size: 0.875rem;color: var(--grey-500); margin-bottom: 0;}
.container .jumbotron .btn p { font-size: 0.875rem;}
.container .jumbotron .btn-primary p { color: var(--white); font-size: 0.875rem !important;}
.container .jumbotron .jumbo-number {
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 600;
    color: var(--vicat-blue);
    line-height: 1;
    margin-bottom: 0.25rem;
}
.container .jumbotron .jumbo-label {
    text-transform: uppercase;
    letter-spacing: 1px;
}
#application .jumbotron p, #composition .jumbotron p, .jumbo-vicat-blue p { font-size: 0.9rem;}
#application .jumbotron .az-column, #composition .jumbotron .az-column, .jumbo-vicat-blue .az-column { margin-bottom: 0; }
.jumbotron.dxpr-theme-util-background-primary { border-left: 4px solid var(--vicat-teal);}
.jumbotron.dxpr-theme-util-background-primary.dxpr-theme-util-color-primary { 
background: #f0fafa !important;
}
.jumbotron.dxpr-theme-util-background-primary.dxpr-theme-util-color-primary p {
color: var(--vicat-teal-dark) !important;
}
#jumbo-contact { background-color: rgb(224, 247, 248) !important;}

#composition .jumbotron, .jumbo-vicat-blue { 
padding:.875rem 1.125rem !important;
background: var(--white) !important;
border-left: 3px solid var(--vicat-blue) !important;
margin-bottom: .625rem !important;
}
#composition .jumbotron p, .jumbo-vicat-blue p { 
color: var(--vicat-blue); 
}
#composition .jumbotron p strong, .jumbo-vicat-blue p strong { display: inline-block; width: 18%; }

/* FIX 2026-10 : "--var(" → "var(" */
.titleSansSerif { font-family: var(--font-body) !important}

/* ACCUEIL - BLOC PRODUITS */
#home-products-block > .az-column {
    position: relative;
    overflow: hidden;
    transition: transform var(--transition-smooth), z-index 0s;
}
#home-products-block > .az-column:hover {
    transform: scale(1.02);
    z-index: 10;
    box-shadow: 0 30px 60px rgba(0, 51, 102, 0.3);
}
.product-subtitle, .card-subtitle, .card-location { text-transform: uppercase; letter-spacing: 2px; }
#bas-carbone { background: linear-gradient(135deg, #f0f7f4, #e8f4f1); }
#bas-carbone h2 { color: var(--success-green-dark); }
#bas-carbone .accordion-button { background-color: var(--success-green) !important; color: #fff; }
#bas-carbone .accordion-button:not(.collapsed) { background-color: var(--success-green-dark) !important; }
#timeline:before {
    content: '';
    position: absolute;
    left: 48%;
    top: 0;
    bottom: 0;
    width: 2px;
    background: linear-gradient(180deg, var(--success-green-dark) 0%, var(--success-green) 100%);
    transform: translateX(-50%);
    height: 100%;
}
#timeline .timeline-date { color: var(--success-green); font-family: var(--font-display); font-size: 3rem;}
#timeline > .az-column > .az-row::before {
    content: '';
    position: absolute;
    top: 44%;
    left: 46%;
    width: 50px;
    height: 2px;
    background: var(--success-green-dark);
}

/* ===== TABLE ===== */
table { width: 100%; border-collapse: collapse; }
table th {
    background: var(--vicat-blue);
    color: var(--white);
    padding: 1rem;
    text-align: left;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}
table tr:hover td { background: var(--grey-50); }
table td {
    padding: 1rem;
    border-bottom: 1px solid var(--grey-200);
    color: var(--grey-600);
}

/* ===== CENTRALES A BETON FRANCE ===== */
.field--label-visually_hidden { display: none; }
.region-title {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 2px solid var(--vicat-teal);
    margin-bottom: 1rem;
}
.region-count {
    background: var(--vicat-teal);
    color: var(--white);
    font-size: 0.875rem;
    font-weight: 700;
    padding: 0.25rem 0.625rem;
    border-radius: 2px;
    font-family: var(--font-body);
}
.dept-title {
    font-family: var(--font-body) !important;
    font-size: 0.9375rem;
    font-weight: 700 !important;
    color: var(--grey-700);
    margin: 1.5rem 0 0.5rem;
    padding: 0 0 0 0.75rem;
    border-left: 3px solid var(--vicat-gold);
}

/* IMPLANTATIONS */
/* FIX 2026-10 : "var(---font-body)" → "var(--font-body)" */
.view-liste-seo-implantation h3 { text-transform: none !important; font-family:var(--font-body) !important; font-size:1rem; letter-spacing: 0px !important; }

/* ========================================
   MENU MOBILE - BOOTSTRAP 5 / DXPR
   ======================================== */

@media (max-width: 1023px) {
    
/* RESET des styles desktop sur mobile */
    header#navbar ul.nav.navbar-nav > li.nav-item > ul.dropdown-menu.level-2 {
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        background-color: #f9f9f9 !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
    }
    
    /* Items niveau 2 - RESET flex */
    header#navbar ul.dropdown-menu.level-2 > li.bs-dropdown-submenu,
    header#navbar ul.dropdown-menu.level-2 > li {
        flex: none !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border-right: none !important;
        background: transparent !important;
        background-image: none !important;
    }
    
    /* Afficher quand ouvert */
    header#navbar ul.nav.navbar-nav > li.nav-item.open > ul.dropdown-menu.level-2,
    header#navbar ul.nav.navbar-nav > li.nav-item.show > ul.dropdown-menu.level-2 {
        display: block !important;
    }

    /* 1. HEADER CONTAINER */
    header#navbar .dxpr-theme-fluid.navbar-container {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 15px 20px !important;
        height: 70px !important;
        position: relative !important;
        background-color: transparent !important;
    }
    
    header#navbar .navbar-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        position: relative !important;
        z-index: 4100 !important;
order: 1 !important;
        flex: 0 0 auto !important;

    }
    
    header#navbar a.logo.navbar-btn img#logo {
        height: 35px !important;
        max-height: 35px !important;
        filter: brightness(0) saturate(100%) invert(13%) sepia(62%) saturate(2878%) hue-rotate(198deg) brightness(97%) contrast(101%) !important;
    }
    
    /* 3. BURGER */
    header#navbar #dxpr-theme-menu-toggle {
        order: 2 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        width: 44px !important;
        height: 44px !important;
        padding: 10px !important;
        background: var(--vicat-blue) !important;
        border: none !important;
        border-radius: 4px !important;
        cursor: pointer !important;
        z-index: 4100 !important;
        margin: 0 !important;
        position: relative !important;
order: 2 !important;
        margin-left: auto !important;
        position: relative !important;
        right: 0 !important;
        left: auto !important;
    }
    
    header#navbar #dxpr-theme-menu-toggle .navbar-toggler-icon {
        background-image: none !important;
        display: block !important;
        background: #ffffff !important;
        height: 3px !important;
        width: 24px !important;
        border-radius: 2px !important;
        position: relative !important;
        transition: all 0.3s ease !important;
    }
    
    header#navbar #dxpr-theme-menu-toggle .navbar-toggler-icon::before,
    header#navbar #dxpr-theme-menu-toggle .navbar-toggler-icon::after {
        content: '' !important;
        display: block !important;
        background: #ffffff !important;
        height: 3px !important;
        width: 24px !important;
        border-radius: 2px !important;
        position: absolute !important;
        left: 0 !important;
        transition: all 0.3s ease !important;
    }
    
    header#navbar #dxpr-theme-menu-toggle .navbar-toggler-icon::before {
        top: -8px !important;
    }
    
    header#navbar #dxpr-theme-menu-toggle .navbar-toggler-icon::after {
        top: 8px !important;
    }
    
    /* Animation X quand menu ouvert */
    header#navbar #dxpr-theme-menu-toggle:not(.collapsed) .navbar-toggler-icon {
        background: transparent !important;
    }
    
    header#navbar #dxpr-theme-menu-toggle:not(.collapsed) .navbar-toggler-icon::before {
        top: 0 !important;
        transform: rotate(45deg) !important;
    }
    
    header#navbar #dxpr-theme-menu-toggle:not(.collapsed) .navbar-toggler-icon::after {
        top: 0 !important;
        transform: rotate(-45deg) !important;
    }
    
    /* 4. MENU PRINCIPAL */
    nav#dxpr-theme-main-menu,
    header#navbar nav#dxpr-theme-main-menu {
        position: fixed !important;
        top: 0 !important;
        left: -100% !important;
        width: 100% !important;
        height: 100vh !important;
        background-color: #ffffff !important;
        z-index: 4050 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding: 80px 0 30px 0 !important;
        transition: left 0.3s ease !important;
        display: block !important;
    }
    
    /* Menu ouvert - classe Bootstrap 5 */
    nav#dxpr-theme-main-menu.show,
    header#navbar nav#dxpr-theme-main-menu.show,
    nav#dxpr-theme-main-menu.menu--open,
    header#navbar nav#dxpr-theme-main-menu.menu--open {
        left: 0 !important;
    }
    
    /* 5. REGION */
    header#navbar nav#dxpr-theme-main-menu .region-navigation-collapsible {
        display: block !important;
        width: 100% !important;
    }
    
    header#navbar #block-dxpr-theme-main-menu {
        width: 100% !important;
    }
    
    /* 6. LISTE NIVEAU 1 */
    header#navbar ul.menu.nav.navbar-nav,
    header#navbar ul.nav.navbar-nav {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
    }
    
    header#navbar ul.nav.navbar-nav > li.nav-item {
        width: 100% !important;
        border-bottom: 1px solid #e0e0e0 !important;
        background: transparent !important;
        display: block !important;
        float: none !important;
        position: static !important;
    }
    
    /* Liens et spans niveau 1 */
    header#navbar ul.nav.navbar-nav > li.nav-item > a.nav-link,
    header#navbar ul.nav.navbar-nav > li.nav-item > span.nav-link,
    header#navbar ul.nav.navbar-nav > li.nav-item > div.bs-dropdown-wrapper > a.nav-link {
        color: #003366 !important;
        padding: 18px 30px !important;
        height: auto !important;
        line-height: 1.4 !important;
        font-size: 17px !important;
        font-weight: 600 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        background: transparent !important;
        border: none !important;
        text-transform: none !important;
        cursor: pointer !important;
    }
    
    header#navbar ul.nav.navbar-nav > li.nav-item > a.nav-link:hover,
    header#navbar ul.nav.navbar-nav > li.nav-item > span.nav-link:hover,
    header#navbar ul.nav.navbar-nav > li.nav-item > div.bs-dropdown-wrapper > a.nav-link:hover {
        background-color: #f5f5f5 !important;
        color: #00a6aa !important;
    }
    
    /* Masquer les boutons caret Bootstrap */
    .bs-dropdown-caret,
    button.bs-dropdown-caret {
        display: none !important;
    }
    
    /* Flèche pour les dropdowns niveau 1 */
    header#navbar ul.nav.navbar-nav > li.nav-item.dropdown > span.nav-link::after,
    header#navbar ul.nav.navbar-nav > li.nav-item > div.bs-dropdown-wrapper > a.nav-link::after {
        content: "›" !important;
        font-size: 24px !important;
        font-weight: 300 !important;
        margin-left: auto !important;
        border: none !important;
        width: auto !important;
        height: auto !important;
    }
    
    /* 7. SOUS-MENUS NIVEAU 2 */
    header#navbar ul.dropdown-menu.level-2 {
        position: static !important;
        width: 100% !important;
        background-color: #f9f9f9 !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        flex-direction: column !important;
        float: none !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
    }
    
    header#navbar ul.nav.navbar-nav > li.nav-item.show > ul.dropdown-menu.level-2,
    header#navbar ul.nav.navbar-nav > li.nav-item.open > ul.dropdown-menu.level-2 {
        display: block !important;
    }
    
    /* Items niveau 2 */
    header#navbar ul.dropdown-menu.level-2 > li.bs-dropdown-submenu,
    header#navbar ul.dropdown-menu.level-2 > li {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        background: transparent !important;
        background-image: none !important;
        border: none !important;
    }
    
    /* Heading et liens niveau 2 */
    header#navbar li.bs-dropdown-submenu > div.bs-dropdown-item-wrapper > a.dropdown-item,
    header#navbar li.bs-dropdown-submenu > span.dropdown-item,
    header#navbar ul.dropdown-menu.level-2 > li > span.dropdown-item {
        color: #003366 !important;
        padding: 15px 30px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        background: transparent !important;
        border-bottom: 1px solid #e0e0e0 !important;
        margin: 0 !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        text-transform: none !important;
        cursor: pointer !important;
    }
    
    header#navbar li.bs-dropdown-submenu > div.bs-dropdown-item-wrapper > a.dropdown-item:hover,
    header#navbar li.bs-dropdown-submenu > span.dropdown-item:hover {
        background-color: #f0f0f0 !important;
        color: #00a6aa !important;
    }
    
    /* Flèche niveau 2 */
    header#navbar li.bs-dropdown-submenu > div.bs-dropdown-item-wrapper > a.dropdown-item::after,
    header#navbar li.bs-dropdown-submenu > span.dropdown-item::after {
        content: "›" !important;
        font-size: 24px !important;
        margin-left: auto !important;
    }
    
    /* 8. SOUS-MENUS NIVEAU 3+ */
    header#navbar ul.dropdown-menu.level-3plus {
        position: static !important;
        width: 100% !important;
        background-color: #ffffff !important;
        padding: 0 !important;
        margin: 0 !important;
        display: none !important;
        border: none !important;
        float: none !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        bottom: auto !important;
    }
    
    header#navbar li.bs-dropdown-submenu.show > ul.dropdown-menu.level-3plus,
    header#navbar li.bs-dropdown-submenu.open > ul.dropdown-menu.level-3plus,
    header#navbar li.bs-dropdown-submenu.show > ul.dropdown-menu.level-3plus {
        display: block !important;
    }
    
    header#navbar ul.dropdown-menu.level-3plus > li {
        border-bottom: 1px solid #e8e8e8 !important;
    }
    
    header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item,
    header#navbar ul.dropdown-menu.level-3plus > li > span.dropdown-item {
        color: #003366 !important;
        padding: 12px 30px 12px 50px !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        display: block !important;
        background: transparent !important;
    }
    
    header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item::before,
    header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item::after {
        display: none !important;
    }
    
    header#navbar ul.dropdown-menu.level-3plus > li > a.dropdown-item:hover {
        background-color: #f5f5f5 !important;
        color: #00a6aa !important;
    }
    
    /* 9. BOUTON CONTACT */
    header#navbar #block-useraccountmenu {
        margin: 20px 30px 30px 30px !important;
        padding: 0 !important;
        background: transparent !important;
    }
    
    header#navbar #block-useraccountmenu ul.nav {
        display: block !important;
    }
    
    header#navbar #block-useraccountmenu li.nav-item {
        width: 100% !important;
    }
    
    header#navbar #block-useraccountmenu a.nav-link {
        width: 100% !important;
        background-color: #00a6aa !important;
        color: #ffffff !important;
        padding: 15px 30px !important;
        text-align: center !important;
        display: block !important;
        border-radius: 4px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        justify-content: center !important;
    }
    
    header#navbar #block-useraccountmenu a.nav-link:hover {
        background-color: #008a8e !important;
    }
    
    /* 10. MASQUER éléments inutiles */
    hr.block-hr {
        display: none !important;
    }
    
    /* Masquer item actif border-bottom */
    header#navbar ul.nav.navbar-nav > li.nav-item.active > a.nav-link,
    header#navbar ul.nav.navbar-nav > li.nav-item.active > span.nav-link {
        border-bottom: 0 !important;
    }
    
    /* 11. EMPÊCHER SCROLL */
    html.html--dxpr-theme-nav-mobile--open,
    html.html--dxpr-theme-nav-mobile--open body,
    body.menu-open {
        overflow: hidden !important;
        height: 100% !important;
    }

    
    
    
/* 1. SUPPRIMER le border-bottom sur item actif (mobile) */
    header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item.active > a.nav-link,
    header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item.active > span.nav-link {
        color: var(--vicat-teal) !important;
        border-bottom: 0 !important; /* CHANGÉ */
    }
    
    /* 2. MASQUER les spans vides niveau 2 (ouvre direct le niveau 3) */
    header#navbar ul.dropdown-menu.level-2 > li > span.dropdown-item {
        display: none !important;
    }
    
    /* 3. APPLICATIONS - Supprimer visuels, garder juste les libellés */
    
    /* Masquer les images de fond sur Applications */
    #block-dxpr-theme-main-menu > ul > li:nth-child(3) > ul > li {
        background-image: none !important;
        background: transparent !important;
        padding: 0 !important;
    }
    
    /* Réinitialiser le style des liens Applications */
    #block-dxpr-theme-main-menu > ul > li:nth-child(3) > ul > li > a,
    #block-dxpr-theme-main-menu > ul > li:nth-child(3) > ul > li > div.bs-dropdown-item-wrapper > a.dropdown-item {
        color: #003366 !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        position: static !important;
        margin: 0 !important;
        padding: 15px 30px !important;
        text-align: left !important;
        text-transform: none !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        background: transparent !important;
        border-bottom: 1px solid #e0e0e0 !important;
    }
    
    /* Flèche pour Applications (comme les autres niveau 2) */
    #block-dxpr-theme-main-menu > ul > li:nth-child(3) > ul > li > div.bs-dropdown-item-wrapper > a.dropdown-item::after {
        content: "›" !important;
        font-size: 24px !important;
        margin-left: auto !important;
        position: static !important;
    }
    
}

/* ==========================================================================
   FIX 2026-10 — HEADER plage 1024–1199px
   DXPR reste en mode "mobile" jusqu'à son propre breakpoint (≈1200px)
   alors que ce CSS passe en desktop dès 1024px : on neutralise le fond
   sombre du thème et on densifie le menu pour que tout tienne.
   ========================================================================== */
@media (min-width: 1024px) and (max-width: 1199.98px) {
  /* Fond blanc : on neutralise le fond "mobile" du thème */
  header#navbar nav#dxpr-theme-main-menu,
  header#navbar nav#dxpr-theme-main-menu .region-navigation-collapsible,
  header#navbar #block-dxpr-theme-main-menu,
  header#navbar ul.nav.navbar-nav {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
  }

  /* Mega menu : fond blanc garanti */
  header#navbar ul.nav.navbar-nav > li.nav-item > ul.dropdown-menu.level-2 {
    background: var(--white) !important;
  }

  /* Densifier pour que tout tienne */
  header#navbar .dxpr-theme-fluid.navbar-container {
    padding: 0 24px !important;
  }
  header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item > a.nav-link,
  header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item > span.nav-link,
  header#navbar #block-dxpr-theme-main-menu ul.nav.navbar-nav > li.nav-item > div.bs-dropdown-wrapper > a.nav-link {
    padding: 0 .6rem !important;
    font-size: .8125rem !important;
    letter-spacing: .5px !important;
  }
  header#navbar #block-useraccountmenu ul.nav > li > a.nav-link {
    padding: .6rem 1rem !important;
  }
}

/* ==========================================================================
   BLOCS RÉALISATIONS
   ========================================================================== */
.view-realisations-bloc-auto .view-content,
.view-realisations-bloc-manuel .view-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}

@media (max-width: 1200px) {
    .view-realisations-bloc-auto .view-content,
    .view-realisations-bloc-manuel .view-content {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .view-realisations-bloc-auto .view-content,
    .view-realisations-bloc-manuel .view-content {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}

.view-realisations-bloc-auto .views-row,
.view-realisations-bloc-manuel .views-row {
    background: var(--white);
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    display: block;
}

.view-realisations-bloc-auto .views-row:hover,
.view-realisations-bloc-manuel .views-row:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
    transform: translateY(-4px);
}

.view-realisations-bloc-auto .views-row > div,
.view-realisations-bloc-manuel .views-row > div {
    display: contents;
}

.view-realisations-bloc-auto .realisation-image,
.view-realisations-bloc-manuel .realisation-image {
    width: 100%;
    aspect-ratio: 6/8;
    overflow: hidden;
    display: block;
}

.view-realisations-bloc-auto .realisation-image img,
.view-realisations-bloc-manuel .realisation-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
    display: block;
}

.view-realisations-bloc-auto .realisation-location,
.view-realisations-bloc-manuel .realisation-location {
    font-size: 0.75rem;
    color: var(--vicat-teal);
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 1rem 1rem 0.375rem 1rem;
    font-weight: 600;
    display: block;
}

.view-realisations-bloc-auto .realisation-title,
.view-realisations-bloc-manuel .realisation-title {
    font-family: var(--font-body);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--vicat-blue);
    line-height: 1.3;
    padding: 0 1rem 1rem 1rem;
    margin: 0;
    display: block;
}

.view-realisations-bloc-auto .realisation-title a,
.view-realisations-bloc-manuel .realisation-title a {
    color: var(--vicat-blue);
    text-decoration: none;
    transition: color 0.3s ease;
}

.view-realisations-bloc-auto .realisation-title a:hover,
.view-realisations-bloc-manuel .realisation-title a:hover {
    color: var(--vicat-teal);
}

/* ========== VIEW LISTING DE PRODUIT ========== */
.view-liste-produits > .view-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 960px) {
.view-liste-produits > .view-content { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
.view-liste-produits > .view-content { grid-template-columns: 1fr; }
}

.view-produits-par-application .views-row {
  border-radius: 0px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .25s, transform .25s;
}

.view-liste-produits .view-content > .views-row:hover {
  box-shadow: 0 8px 28px rgba(0, 30, 60, .12);
  transform: translateY(-3px);
}

.view-liste-produits .card-header-vicat {
  background: linear-gradient(135deg, var(--vicat-blue) 0%, var(--vicat-blue-dark) 100%);
  padding: 6% 15px;
  order: -1;
  text-align: center;
  min-height: 210px;
flex: 1
}

.view-liste-produits .card-header-vicat h3 { color: var(--white); }

.view-liste-produits .card-header-vicat p { color: var(--white); min-height: 86px }
.view-liste-produits .card-btn-vicat { text-align: center; margin-bottom: 20px; }
.view-liste-produits .card-btn-vicat a.btn { color: #fff; }

.view-liste-produits .card-image-vicat { margin-bottom: 20px; }
.view-liste-produits .card-image-vicat img { width: 100%; height: 200px; object-fit: cover;}

.view-liste-produits .views-field-title { padding: 14px 18px 0; flex: 1; }

.view-liste-produits .views-field-title a,
.view-liste-produits .views-field-title span {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #1a2233;
  text-decoration: none;
  line-height: 1.4;
  display: block;
}
.view-liste-produits.prd-beton .card { 
border-top: 4px solid var(--vicat-teal);
}
.view-liste-produits.prd-ciment .card { 
border-top: 4px solid var(--vicat-gold);
}
.prd-ciment .card .card-subtitle { color: var(--vicat-gold) !important; }
/* ==================== */


/* ==========================================================================
   PAGES APPLICATION — Cartes produits
   ========================================================================== */
.view-produits-par-application > .view-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1400px !important;
  padding: 40px 60px 0;
  margin: 0 auto;
}

@media (max-width: 960px) {
  .view-produits-par-application > .view-content { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 560px) {
  .view-produits-par-application > .view-content { grid-template-columns: 1fr; }
}

.view-produits-par-application > .view-content > h2 {
  grid-column: 1 / -1;
  font-size: 3rem;
  font-weight: 400;
  padding: 28px 0 10px;
  border-top: 1px solid #e2e5ea;
  margin: 0;
  font-family: var(--font-display);
  color: var(--vicat-blue);
}

.view-produits-par-application > .view-content > h2:first-child {
  border-top: none;
  padding-top: 0;
}

.sv-tabs-active .view-produits-par-application > .view-content > h2 { display: none; }

.view-produits-par-application .views-row {
  border-radius: 0px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .25s, transform .25s;
}

.view-produits-par-application .view-content > .views-row:hover {
  box-shadow: 0 8px 28px rgba(0, 30, 60, .12);
  transform: translateY(-3px);
}

.view-produits-par-application .views-field-field-gamme {
  background: #003366;
  padding: 14px 18px 12px;
  order: -2;
}

.view-produits-par-application .views-row.sv-famille-ciment .views-field-field-gamme { background: #002244; }

.view-produits-par-application .views-field-field-gamme .field-content {
  font-family: 'Fraunces', Georgia, serif;
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  display: block;
  line-height: 1.2;
}

.view-produits-par-application .card-header-vicat {
  background: linear-gradient(135deg, var(--vicat-blue) 0%, var(--vicat-blue-dark) 100%);
  padding: 6% 15px;
  order: -1;
  text-align: center;
  min-height: 270px;
}
.view-produits-par-application .sv-famille-ciment .card-header-vicat { min-height: 190px; }

.view-produits-par-application .card-header-vicat h3 { color: var(--white); }
.view-produits-par-application .card-header-vicat .card-gamme { margin: -25px -15px 20px -15px; height: 80px; min-height: 80px; }
.view-produits-par-application .sv-famille-ciment .card-header-vicat .card-gamme { display: none; }
.view-produits-par-application .card-header-vicat .card-gamme.Defiperf { background: url(/sites/default/files/2024-07/Defiperf-BETON-SPECIFIQUE.jpg) no-repeat center center #fff; }
.view-produits-par-application .card-header-vicat .card-gamme.BVperf { background: url(/sites/default/files/2024-07/BVperf-BETON-COURANT.jpg) no-repeat center center #fff; }
.view-produits-par-application .card-header-vicat .card-gamme.Stylperf { background: url(/sites/default/files/2024-07/Stylperf-BETON-DECORATIF_0.jpg) no-repeat center center #fff;}
.view-produits-par-application .card-header-vicat .card-gamme.Flexiperf { background: url(/sites/default/files/2024-07/BETON_FICHE%20PRODUIT_FICHIERS%20PDF%20%287%29.png) no-repeat center center #fff; background-size: 50% !important}
.view-produits-par-application .card-header-vicat .card-gamme.Structurat { background: url(/sites/default/files/2025-01/Vicat%20-%20Blocs%20marque%20logot%C3%A9s%20STRUCTURAT.png) no-repeat center center #fff; background-size: 50% !important;}
.view-produits-par-application .card-header-vicat .card-gamme.Optimat { background: url(/sites/default/files/2025-01/Vicat%20-%20Blocs%20marque%20logotés%20OPTIMAT.jpg) no-repeat center center #fff; background-size: 50% !important;}
.view-produits-par-application .card-header-vicat .card-gamme.Extremat { background: url(/sites/default/files/2025-01/Vicat%20-%20Blocs%20marque%20logot%C3%A9s%2020253.png) no-repeat center center #fff; background-size: 50% !important;}
.view-produits-par-application .card-header-vicat .card-gamme.Naturat { background: url(/sites/default/files/2025-01/Vicat%20-%20Blocs%20marque%20logot%C3%A9s%20NATURAT.png) no-repeat center center #fff; background-size: 50% !important;}

.view-produits-par-application .card-header-vicat p { color: var(--white); min-height: 86px }
.view-produits-par-application .card-btn-vicat { text-align: center; margin-bottom: 20px; }
.view-produits-par-application .card-btn-vicat a.btn { color: #fff; }

.view-produits-par-application .views-row.sv-famille-ciment .views-field-field-categorie-produit { background: #002244; }

.view-produits-par-application .views-field-field-categorie-produit .field-content {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #00a6aa;
  display: block;
}

.view-produits-par-application .views-row.sv-famille-ciment .views-field-field-categorie-produit .field-content { color: #d6ad60; }

.view-produits-par-application .card-image-vicat { margin-bottom: 20px; }
.view-produits-par-application .card-image-vicat img { width: 100%; height: 200px; object-fit: cover;}

.view-produits-par-application .views-field-field-image img {
  width: auto;
  object-fit: contain;
  display: block;
  transition: transform .3s;
}

.view-produits-par-application .views-field-title { padding: 14px 18px 0; flex: 1; }

.view-produits-par-application .views-field-title a,
.view-produits-par-application .views-field-title span {
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #1a2233;
  text-decoration: none;
  line-height: 1.4;
  display: block;
}

.view-produits-par-application .views-field-title a:hover { color: #00a6aa; }

.view-produits-par-application .views-field-field-description-courte {
  padding: 8px 18px 0;
  font-size: 13px;
  color: #6b7585;
  line-height: 1.55;
}

.view-produits-par-application .views-field-field-famille,
.view-produits-par-application .views-field-field-marque { display: none; }

.view-produits-par-application .sv-btn-fiche {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 16px 18px 18px;
  padding: 10px 16px;
  background: transparent;
  border: 1.5px solid #e2e5ea;
  color: #003366;
  border-radius: 6px;
  font-family: 'DM Sans', sans-serif;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .04em;
  text-decoration: none;
  transition: all .2s;
}

.view-produits-par-application .sv-btn-fiche::after { content: '→'; font-size: 14px; }

.view-produits-par-application .sv-btn-fiche:hover {
  background: #003366;
  border-color: #003366;
  color: white;
}

.view-produits-par-application .views-row.sv-famille-ciment .sv-btn-fiche:hover {
  background: #002244;
  border-color: #002244;
  color: white;
}

.sv-tabs-filter {
  display: flex;
grid-column: 1 / -1;
  align-items: center;
  gap: 8px;
  padding: 28px 0 0;
  flex-wrap: wrap;
}
.sv-tabs-filter__label {
  font-size: 1rem;
  letter-spacing: .01em;
  color: var(--grey-500);
  margin-right: 4px;
  text-transform: uppercase;
}
.sv-tabs-filter .btn { border-color: var(--grey-500);}
.sv-tabs-filter .btn.active { color: var(--white); background: var(--vicat-teal); border-color: var(--vicat-teal); }

.sv-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(255,255,255,.25);
}

.sv-results-info { font-size: 13px; color: #6b7585; padding: 10px 0 0; margin: 0; }
.sv-results-info strong { color: #1a2233; }

.view-produits-par-application .views-row.sv-hidden { display: none; }

@keyframes svFadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

.view-produits-par-application .views-row { animation: svFadeUp .35s ease both; }
.view-produits-par-application .views-row:nth-child(1) { animation-delay: .00s; }
.view-produits-par-application .views-row:nth-child(2) { animation-delay: .05s; }
.view-produits-par-application .views-row:nth-child(3) { animation-delay: .10s; }
.view-produits-par-application .views-row:nth-child(4) { animation-delay: .15s; }
.view-produits-par-application .views-row:nth-child(5) { animation-delay: .20s; }
.view-produits-par-application .views-row:nth-child(6) { animation-delay: .25s; }
.view-produits-par-application .views-row:nth-child(7) { animation-delay: .30s; }
.view-produits-par-application .views-row:nth-child(8) { animation-delay: .35s; }
.view-produits-par-application .views-row:nth-child(9) { animation-delay: .40s; }

/* ==========================================================================
   SUB-NAV APPLICATIONS
   ========================================================================== */
/* ── Masquer tous les sous-menus par défaut ── */
.view-display-id-block_maison_individuelle,
.view-display-id-block_batiment_collectif,
.view-display-id-block_batiment_industriel,
.view-display-id-block_tp,
.view-display-id-block_genie_civil {
  display: none;
}

/* ── Maison individuelle (termes 16 à 21) ── */
.page-taxonomy-term-16 .view-display-id-block_maison_individuelle,
.page-taxonomy-term-17 .view-display-id-block_maison_individuelle,
.page-taxonomy-term-18 .view-display-id-block_maison_individuelle,
.page-taxonomy-term-19 .view-display-id-block_maison_individuelle,
.page-taxonomy-term-20 .view-display-id-block_maison_individuelle,
.page-taxonomy-term-21 .view-display-id-block_maison_individuelle { display: block; }

/* ── Bâtiment collectif (termes 27 à 32) ── */
.page-taxonomy-term-27 .view-display-id-block_batiment_collectif,
.page-taxonomy-term-28 .view-display-id-block_batiment_collectif,
.page-taxonomy-term-29 .view-display-id-block_batiment_collectif,
.page-taxonomy-term-30 .view-display-id-block_batiment_collectif,
.page-taxonomy-term-31 .view-display-id-block_batiment_collectif,
.page-taxonomy-term-32 .view-display-id-block_batiment_collectif { display: block; }

/* ── Bâtiment industriel (termes 33 à 38) ── */
.page-taxonomy-term-33 .view-display-id-block_batiment_industriel,
.page-taxonomy-term-34 .view-display-id-block_batiment_industriel,
.page-taxonomy-term-35 .view-display-id-block_batiment_industriel,
.page-taxonomy-term-36 .view-display-id-block_batiment_industriel,
.page-taxonomy-term-37 .view-display-id-block_batiment_industriel,
.page-taxonomy-term-38 .view-display-id-block_batiment_industriel { display: block; }

/* ── Travaux publics (termes 39 à 42) ── */
.page-taxonomy-term-39 .view-display-id-block_tp,
.page-taxonomy-term-40 .view-display-id-block_tp,
.page-taxonomy-term-41 .view-display-id-block_tp,
.page-taxonomy-term-42 .view-display-id-block_tp { display: block; }

/* ── Génie civil (terme 43) ── */
.page-taxonomy-term-43 .view-display-id-block_genie_civil { display: block; }
.subnav-applications {
  border-bottom: 1px solid #e2e5ea;
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
}

.subnav-applications ul {
  display: flex;
  align-items: stretch;
  overflow-x: auto;
  scrollbar-width: none;
  list-style: none;
  padding: 0 60px;
  margin: 0 auto;
  max-width: var(--container-max-width);
}

.subnav-applications ul::-webkit-scrollbar { display: none; }

.subnav-applications-item {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
}

.subnav-applications-item a {
  display: flex;
  align-items: center;
  padding: 14px 18px;
  font-size: 1rem;
  color: var(--grey-500);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 3px solid transparent;
  transition: color .2s, border-color .2s;
}

.subnav-applications-item a:hover { color: var(--vicat-blue); }

.subnav-applications-item a.sv-subnav-active {
  color: #00a6aa;
  border-bottom-color: #00a6aa;
}

.subnav-applications ul { counter-reset: subnav-counter; }

.subnav-applications-item a::before {
  counter-increment: subnav-counter;
  content: counter(subnav-counter);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--grey-100);
  color: #6b7585;
  font-size: 11px;
  font-weight: 700;
  margin-right: 8px;
  flex-shrink: 0;
  transition: background .2s, color .2s;
}

.subnav-applications-item a:hover::before { background: var(--vicat-blue); color: white; }
.subnav-applications-item a.sv-subnav-active::before { background: var(--vicat-teal); color: white; }

.subnav-applications-item .views-field,
.subnav-applications-item .field-content { display: contents; }

.subnav-applications-item .parents-du-terme { display: none; }

.subnav-applications-item:first-child .parents-du-terme {
  display: flex;
  align-items: center;
  font-size: 1rem;
  letter-spacing: .01em;
  text-transform: uppercase;
  color: var(--grey-500);
  padding: 14px 20px 14px 0;
  margin-right: 4px;
  white-space: nowrap;
}
/* ===== PODCAST ===== */
header-page-s-grey { position: relative; }
#hero-info p { margin-bottom: 0}
#hero-info .material-symbols-outlined { color: var(--grey-400) !important;}
.tags {
display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: 8px;
}
.tags .tag {     display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 10px;
    border: 1px solid var(--grey-200);
color: var(--vicat-blue-podcast) !important;
font-size: 0.875rem;
}
.podcast-col-bleu { color: var(--vicat-blue-podcast) !important; }
.podcast-col-noir { color: var(--black) !important; }
/* ----- */
#podcast-quote {
position: relative; 
background: var(--vicat-blue-podcast);
border-radius: 16px;
}
#podcast-quote::before {
    content: "\201C";
    position: absolute;
    top: 8px;
    left: 24px;
    font-family: 'Fraunces', serif;
    font-size: 80px;
    line-height: 1;
    color: var(--white);
    font-weight: 500;
}

#podcast-quote p { 
font-family: var(--font-display);
    font-style: italic;
    font-weight: 400;
    font-size: 1.75rem;
    line-height: 1.75;
    color: var(--white);
    margin: 0;}
#podcast-quote cite { 
    margin-top: 16px;
    font-family: var(--font-body);
    font-style: normal;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--vicat-blue);
}
#podcast-quote footer { padding-bottom: 0;}
/* ----- */
#guest-card { color: var(--grey-400);}
#guest-card .card-title {
font-family: var(--font-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding-left: 10px;
    border-left: 2px solid var(--vicat-blue-podcast);
    margin-bottom: 18px;
color: var(--grey-400);
}
#guest-card .guest-nom {
display: block;
    font-size: 1.5rem;
    line-height: 1.5rem;
    font-weight: 600;
    color: var(--vicat-blue-podcast);
font-family: var(--font-display);
}
#guest-card .guest-titre { 
display:block;font-size: 0.875rem;
    color: var(--grey-400);
    margin-bottom: 16px;}
/* ----- */
#jumbo-podcast { 
background-color: var(--white) !important;
border-left: 4px solid var(--vicat-blue-podcast);
}
#jumbo-podcast p {
font-family: var(--font-display);
font-style: italic;
    font-weight: 400;
    font-size: 1.75rem;
    line-height: 1.3;
    color: #000;
}
#timeline-podcast:before {
    content: "";
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: 19%;
    width: 1px;
    background: var(--vicat-blue-podcast);
    z-index: 0;
}
#timer-1 p, 
#timer-2 p,
#timer-3 p,
#timer-4 p { 
display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 64px;
    height: 36px;
    padding: 0 14px;
    margin: 0;
    background: #fff;
    border: 1px solid var(--vicat-blue-podcast);
    color: var(--vicat-blue-podcast);
    border-radius: 999px;
    font-variant-numeric: tabular-nums;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1;
    transition: background .2s, color .2s;
}
#timeline-podcast .az-element.az-text p > strong { color: var(--vicat-blue-podcast)}

#podcast-player { position: absolute; width: 100%; bottom: -250px; }
/* ===== */
.pod-a-ecouter .pod-episode {
    display: block;
    padding: 14px 0;
    border-top: 1px solid #eef2f6;
    transition: padding-left .2s;
}
.pod-a-ecouter .pod-episode:hover {
    padding-left: 6px;
}
.pod-a-ecouter .pod-date {
    font-size: 0.7rem;
    color: var(--grey-400);
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.pod-a-ecouter .pod-title {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 2px;
}
.pod-a-ecouter .pod-title a {
    color: var(--vicat-blue-podcast) !important;
    text-decoration: none;
    transition: color .2s;
}
.pod-a-ecouter .pod-guest {
    font-size: 12px;
    color: var(--grey-400);
}
/* HUB PODCAST */
.podcast-cards > .view-content {
display: flex;
flex-wrap: wrap;
margin-left: calc(-1 * var(--dxt-setting-gutter-horizontal) / 2);
    margin-right: calc(-1 * var(--dxt-setting-gutter-horizontal) / 2);
}
.podcast-cards .view-content > * { 
    margin-bottom: var(--dxt-setting-gutter-vertical);
    padding-left: calc(var(--dxt-setting-gutter-horizontal) / 2);
    padding-right: calc(var(--dxt-setting-gutter-horizontal) / 2);
}
.podcast-cards .view-content .card { min-height: 390px; height:390px;}
.podcast-cards .pod-image { margin: -16px -16px 20px -16px; }
.podcast-cards .pod-date, .podcast-cards .pod-badge-upcoming { 
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.08em;
color: var(--grey-400);
margin-bottom: 10px;
}
.podcast-cards .pod-title {
font-family: var(--font-display);
font-size: 1.5rem;
font-weight: 500 !important;
padding-bottom: 0;
}
.podcast-cards .pod-title a,
.podcast-cards .pod-title {
color: var(--vicat-blue-podcast) !important;
text-decoration: none; }
.podcast-cards .pod-guest { 
font-size: 0.875rem;
color: var(--grey-400);
}
/* Voile d'opacité sur les cards à venir */
.card--upcoming {
  position: relative;
  overflow: hidden;
}
.card--upcoming::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.55);
  pointer-events: none;
  z-index: 1;
}

/* Le badge "À venir" passe AU-DESSUS du voile */
.card--upcoming .pod-badge-upcoming {
  position: relative;
  z-index: 2;
}

/* ===== NOUVELLE PAGE PRODUIT ===== */
/* POINTS FORTS */
#produit-points-forts h3 { font-size: 1.25rem; }
#produit-points-forts ul { 
    display: flex;
    flex-direction: column;
    gap: 5px;
padding: 0;
}
#produit-points-forts ul li {
    display: block;
    /*align-items: flex-start;
    gap: 8px;*/
    font-size: .875rem;
    line-height: 1.45;
padding-left: 1.25rem;
}
#produit-points-forts ul li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--vicat-teal);
    margin-top: 6px;
display: block;
position: absolute;
left: 0;
}
/* CONTENT */
#produit-content .p-block { 
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid var(--grey-200);
}
#produit-content h2.p-title, #produit-content h3.p-title { 
font-size: 1.375rem;
    color: var(--vicat-blue);
    margin-bottom: 10px;
padding-bottom: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 500 !important;
}
#produit-content h2.p-title::before, #produit-content h3.p-title::before {
    content: '';
    width: 3px;
    height: 18px;
    background: var(--vicat-teal);
    border-radius: 2px;
    flex-shrink: 0;
}
#produit-content table th { text-transform: initial; color: var(--vicat-blue); background-color: var(--grey-50); letter-spacing: 0px; width: 70%; }
/* VIEW APP PAR PRODUIT */
.view-applications-par-produit { 
background: var(--grey-50);
    border: 1px solid var(--grey-200);
    margin-bottom: 10px;
    padding: 16px 18px;
    margin-top: 16px;
}
.view-applications-par-produit .views-title h2 {
    font-size: .68rem;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--grey-400);
font-family: var(--font-body) !important;
}
.view-applications-par-produit .view-app-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: var(--white);
    border: 1px solid var(--grey-200);
    border-radius: 2px;
    font-size: .875rem;
    color: var(--vicat-blue);
    transition: border-color .18s, background .18s;
margin-left: 5px;
}
.view-applications-par-produit .view-app-link a { text-decoration: none; }
/* FAQ */
.faq .accordion-item.dark {
    border-color: rgba(255, 255, 255, .1);
    background: rgba(255, 255, 255, .05);
margin-bottom: 1rem;
}
.faq .accordion-item.dark .accordion-button:not(.collapsed) { 
background: rgba(255, 255, 255, .1) !important;
box-shadow:none;
}
.faq .accordion-item.dark .accordion-button.collapsed { 
background: rgba(255, 255, 255, .05);
}
.faq .accordion-item.dark .accordion-button { color: white;}
.faq .accordion-item.dark .accordion-body { color: var(--grey-300);}

.faq .accordion h2 a, .faq .accordion h3 a { 
color: var(--vicat-blue);
text-decoration: none;
font-size: 1rem;
padding : 14px 16px;
font-family: var(--font-body);
font-weight: 600;
    letter-spacing: 0.008rem;
}
.accordion-button:not(.collapsed) { background-color: var(--grey-50) !important;}
.faq .accordion h2 a::before, .faq .accordion h3 a::before {
    content: 'Q';
    font-size: .6875rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: var(--vicat-teal);
    margin-right: 10px;
}
/* AUTRES PRODUITS DE LA GAMME */
.gamme-products-grid .view-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.gamme-products-grid .bg-image {
  margin: -16px -16px 0px;
  height: 200px;
  background-size: cover;
  background-repeat: no-repeat;
}

.gamme-products-grid .gp-titre {
  padding: 12px 0;
margin-bottom: 0;
  font-size: 1.5rem;
}
.gamme-products-grid .gp-titre a {
text-decoration: none;
}

.gamme-products-grid .gp-desc {
  font-size: 1rem;
  color: var(--grey-500);
  flex: 1;
}

.gamme-products-grid .gp-desc p {
  margin: 0 0 1rem 0;
}

.gamme-products-grid .gp-link a {
    color: var(--vicat-teal) !important;
    font-weight: 600;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 1px;
text-decoration: none;
}

.gamme-products-grid .views-field-view-node a:hover {
  color: var(--vicat-blue);
}
/* DOCUMENTS */
/* Documents produit — style boutons */
.view-produit-documents .views-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.view-produit-documents .file { display: block;}
.view-produit-documents .file a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid var(--grey-200);
  font-size: .875rem;
  color: var(--vicat-blue);
  text-decoration: none;
  width: 100%;
  transition: border-color .18s, background .18s;
}

.view-produit-documents .file a:hover {
  border: 1px solid var(--vicat-teal);
  background: var(--vicat-teal);
color: var(--white) !important;
}

.view-produit-documents .file a::before {
  content: 'insert_drive_file';
  font-family: 'Material Symbols Outlined';
  font-size: 20px;
  color: var(--vicat-blue);
  font-weight: normal;
}
.view-produit-documents .file a:hover::before { color: var(--white); }

/* Supprimer l'icône PDF native de Drupal */
.view-produit-documents .file--application-pdf {
  background: none;
padding-left: 0;
}

/* Liste DOP */
.view-produit-documents .item-list ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.view-produit-documents .item-list ul li {
  margin: 0;
}
/* ===== CAROUSEL ===== */
.h-slide-700 { height: 700px; min-height: 700px;}
.slide-overlay {
  position: relative;
  overflow: hidden;
}
.slide-overlay::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(0,20,50,.82) 0%, rgba(0,30,60,.5) 45%, rgba(0,30,60,.15) 100%);
  z-index: 0;
  pointer-events: none;
}

.slide-overlay > .az-section {
  position: relative;
  z-index: 2;
}
#slider-beton-deco .az-text h2,
#slider-beton-deco .az-text .slide-title-h2 { font-family: var(--font-display) !important; font-size: 3.5rem; margin: 20px 0 10px 0; padding: 0; letter-spacing: -1px; line-height:1.2;  }
/* ==========
UNIVERS STYLPERF
========== */

/* ==========
UNIVERS - Region
========== */
.region-highlighted:has(:is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat)) {
  position: sticky !important;
  top: 80px;
  z-index: 999;
}
/* Conteneur du bloc (remplace #subnav + .container + #menu-stylperf) */
#block-dxpr-theme-menustylperf { --ss-menu-bg: var(--vicat-stylperf); }
/* Aircimat : navy de gamme (CLAUDE.md, identité seule) */
#block-dxpr-theme-ssmenuaircimat { --ss-menu-bg: #263e83; }
:is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  min-height: 78px !important;
  height: 78px !important;
  margin: 0;
  padding-inline: max(15px, calc((100% - 1280px) / 2));
  background-color: var(--ss-menu-bg);
  box-shadow: var(--shadow-sm);
  /*position: sticky !important;
  top: 80px;
  z-index: 999;*/
}

/* Titre du bloc */
:is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) .block-title {
  flex: 0 0 17%;
  width: 17%;
  height: 78px;
  margin: 0 2rem 0 0;
  padding: 0;
  border: 0;
  font-size: 0;
}
/* Logo Stylperf */
#block-dxpr-theme-menustylperf .block-title {
  background-image: url('/sites/default/files/2026-05/logo-beton-stylperf-blanc.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left center;
}
/* Logo Aircimat */
#block-dxpr-theme-ssmenuaircimat .block-title {
  background-image: url('/sites/default/files/2026-11/logo-aircimat-teal-blanc.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left center;
height: 30px;
border-right: 1px solid rgba(255,255,255,.28)
}

/* Séparateur ajouté par DXPR sous le titre du bloc */
:is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) .block-hr {
  display: none;
}

/* Liste des liens */
:is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) ul.nav {
  display: flex;
  flex-direction: row !important;
  align-items: stretch !important;
  height: 78px;
  margin: 0;
  padding: 0;
  float: none;
}

:is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) .nav-item {
  display: flex;
  align-items: center;
  float: none;
}

:is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) .nav-link {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 1.1rem;
  color: rgba(255,255,255,.75);
  font-weight: 500;
  font-size: .875rem;
  text-transform: uppercase;
  border-bottom: 3px solid transparent;
  transition: color .15s, border-color .15s;
}

:is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) .nav-link:hover,
:is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) .nav-link.is-active {
  color: white;
}

:is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) .nav-link.is-active {
  border-bottom-color: white;
  background-color: transparent;
}

/* Mobile : on masque le logo et la liste défile horizontalement */
@media (max-width: 991px) {
  :is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) .block-title {
    display: none;
  }
  :is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) ul.nav {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
  }
  :is(#block-dxpr-theme-menustylperf, #block-dxpr-theme-ssmenuaircimat) .nav-link {
    white-space: nowrap;
  }
}

/* ================================== */
/* ====== UNIVERS STYLPERF CARD ===== */
/* ================================== */
#stats-band { padding: 0 0 2.5rem 0; margin: 0;}
#stats-band .stat-number { margin:0; padding: 0; font-size: 2.5rem; font-family: var(--font-display); }
#stats-band p { font-size: 0.8rem; color: rgba(255,255,255,.5)}

#univers-application .card-application { position: relative; height: 220px; min-height: 220px;}

#univers-application .card-application .az-ctnr { position: initial; flex: 1; }

#univers-application .card-application .card-body { background: linear-gradient(to top, rgba(0, 20, 50, .82) 0%, rgba(0, 20, 50, .2) 55%, transparent 100%); position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end; }

#univers-application .card-application .usage-block { /*position: absolute; bottom: 0; width: calc(100% - 1rem);  height: 64px;*/ color: white; }

#univers-application .card-application .usage-block .usage-fam { border: 1px solid rgba(255, 255, 255, 0.3); color: rgba(255, 255, 255, 0.9); font-size: 0.58rem;
    font-weight: 600;
    letter-spacing: 1.2px;
    text-transform: uppercase;
display: inline-block;
    padding: .12rem .5rem;
    margin-bottom: 0.45rem;
}
#univers-application .card-application .usage-block .usage-label { display: block; color: white;
    font-family: var(--font-body) !important;
    font-size: 1.25rem;
    font-weight: 600 !important;
    letter-spacing: 0.02rem;
    margin: 0;
    padding: 0;
}
#univers-application .card-application .usage-block .usage-text { display: block; color: var(--grey-300); font-size: .875rem;}

#univers-application .card-application .usage-arrow { position: absolute; right: 1rem; bottom: 1rem; line-height: 1; }
#univers-application .card-application .usage-arrow a { color: rgba(255,255,255,.5); text-decoration: none; transition: color .2s; }
#univers-application .card-application:hover .usage-arrow a { color: #fff; }

#univers-teaser-config h2 { font-size: 3rem;}
#univers-teaser-config .jumbotron { 
background-color: rgba(255,255,255,.06) !important;
padding: .75rem 1rem !important;
margin-bottom: .75rem !important;
}

.application-jumbo p { display: flex; gap: 1rem; }
.application-jumbo p strong { width: 30%; color: var(--vicat-blue); }
.application-specs td { 
border: 1px solid var(--grey-200);
}
.application-specs strong { 
display: block;
color: var(--vicat-blue);
}
.application-lien { 
    font-weight: 600;
    color: var(--vicat-teal);
    letter-spacing: .4px;
    text-transform: uppercase;
}

#univers-teaser-config .jumbotron .az-text p { font-size: 1rem;}
/* Realisations - Masonry */
/* Grille */
.masonry-grid .view-content {
  column-count: 3;
  column-gap: 1rem;
}
/* Produit */
#univers-prd-application .card-application-fw { 
height: 200px; 
min-height: 200px;
margin-bottom: 2rem;
}
#univers-prd-application .card-application-fw .card-body { padding-left: 25%; }

.card-application-fw .usage-label { padding: 0; font-size: 1.6rem;}
.card-application-fw .usage-text { color: var(--grey-600); font-size: 0.875rem; }
/* Card Réalisation */
.realisation-card {
  break-inside: avoid;
  margin-bottom: 1rem;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}

/* Image de fond */
.realisation-card .realisation-img {
  position: relative;
  overflow: hidden;
}

.realisation-card .bg-image {
  height: 260px;
  background-size: cover;
  background-position: center;
  transition: transform .35s;
  display: block;
}
/* Toutes les 4 cards, une grande */
.realisation-card:nth-child(3n+1) .bg-image {
  height: 536px;
}
.landing-sp-realisations .bg-image {
  height: 260px !important;
}
.realisation-card:hover .bg-image {
  transform: scale(1.05);
}

/* Overlay */
.realisation-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: linear-gradient(transparent, rgba(0,20,50,.88));
  padding: 2.5rem 1.25rem .875rem;
}

.realisation-tag {
  display: inline-block;
  background: #00a6aa;
  color: white;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: 1px;
  padding: .18rem .55rem;
  border-radius: 2px;
  text-transform: uppercase;
  margin-bottom: .45rem;
}

.realisation-title {
  font-size: .925rem;
  font-weight: 600;
  color: white;
  line-height: 1.3;
}

.realisation-meta {
  font-size: .72rem;
  color: rgba(255,255,255,.55);
  margin-top: .25rem;
}

/* Masquer la galerie — données pour la lightbox uniquement */
.realisation-galerie {
  display: none;
}
/* Pagination */
/* Pagination — base commune */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .375rem;
  list-style: none;
  padding: 2.5rem 0;
  margin: 0;
}

.pagination .page-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 .75rem;
  border-radius: 3px;
  border: 1px solid #e0e3e8;
  background: white;
  color: #526372;
  font-size: .8rem;
  font-weight: 600;
  text-decoration: none;
  transition: all .15s;
}

/* Hover — tous les éléments */
.pagination .page-link:hover {
  background: #f0f2f4;
  border-color: #9aa0ab;
  color: #003366;
}

/* Page active */
.pagination .is-active .page-link,
.pagination .active .page-link {
  background: var(--vicat-blue) !important;
  border-color: var(--vicat-blue) !important;
  color: white !important;
text-decoration: none;
}

/* Navigation (prev/next/first/last) — surcharge couleur uniquement */
.pagination .pager__item--first .page-link,
.pagination .pager__item--last .page-link,
.pagination .pager__item--previous .page-link,
.pagination .pager__item--next .page-link {
  color: #00a6aa;
}

.pagination .visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
}

/* ------------------------------- */
/* ----- GUIDE / FAQ ----- */
.title-tdm { font-family: var(--font-display) !important; font-size: 1.5rem; margin: 0 0 10px 0; padding: 0; letter-spacing: -1px; line-height:1.2;}
.page-node-type-guide-fiche-conseil h2 { 
display: flex;
align-items: center;
gap: 1rem;
}
.page-node-type-guide-fiche-conseil .card { 
min-height: 180px;
margin-bottom: 20px;
}
.num, .step-num { 
    background: var(--vicat-teal);
    color: white;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    flex-shrink: 0;
    margin-top: 2px;
font-size: 1rem;
}
/* Table des matières */
.guide-toc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.guide-toc-list .toc-h2 {
  margin-top: 0.4rem;
  font-weight: 600;
}
.guide-toc-list .toc-h3 {
  padding-left: 1.2rem;
  font-size: 0.9em;
  font-weight: 400;
  margin-top: 0.2rem;
}
.guide-toc-list a {
  text-decoration: none;
  color: inherit;
}
.guide-toc-list a:hover {
  color: #00a6aa;
}
/* Card Guide */
.card-guide .card-header { 
background-color: var(--vicat-blue);
    color: white;
    padding: 1.375rem 1.25rem;
    font-weight: 600;
}
.card-guide .card-header .guide-tag { 
    display: inline-block;
    background: rgba(255, 255, 255, .15);
    color: rgba(255, 255, 255, .7);
    font-size: .6rem;
    font-weight: 400;
    padding: .15rem .45rem;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: .5px;
    margin-top: .375rem;
}
.card-guide .card-body { padding: 1.5rem; }
.card-guide .card-body p {
    font-size: .875rem;
    color: var(--grey-600);
    line-height: 1.6;
    margin-bottom: 1rem;
}
.card-guide .card-body .guide-card-link { 
    font-size: .875rem;
    font-weight: 600;
    color: var(--vicat-teal) !important;
    letter-spacing: .3px;
}
/* ------------------------------- */
/* ------------------------------- */
body { overflow: initial !important;}

/* TEST */
/* 3. HERO — filet de gamme + badge coloré par la gamme (pas par le primary du thème) */
[data-gamme] #header-page{ border-top:6px solid var(--accent); }
[data-gamme] #header-page .btn-primary{
  background:var(--accent) !important;
  border-color:var(--accent) !important;
  color:#fff !important;
}

/* 4. POINTS FORTS — filet d'accent sur chaque titre */
[data-gamme] #produit-points-forts h3{ display: flex; align-items:center; gap: 9px;position:relative; padding-top:13px; }
[data-gamme] #produit-points-forts h3::before{
  content:""; width:26px; height:3px; background:var(--accent);
}
[data-gamme] #produit-points-forts ul li::before { background:var(--accent); }

/* 5. TITRES DE SECTION (.p-title) — barre verticale d'accent */
[data-gamme] #produit-content h2.p-title::before, [data-gamme] #produit-content h3.p-title::before {background:var(--accent);
}

/* 6. PUCES du contenu éditorial */
[data-gamme] #produit-content ul{ list-style:none; padding-left:0; }
[data-gamme] #produit-content li{ position:relative; padding-left:17px; }
[data-gamme] #produit-content li::before {
  content:""; position:absolute; left:0; top:.62em; width:6px; height:6px;
  border-radius:50%; background:var(--accent);
}
[data-gamme] #produit-content .docs-produit li { padding-left: 0px;
}
[data-gamme] #produit-content .docs-produit li::before {
  content: none;
}
[data-gamme] #produit-content ol.steps { 
    counter-reset: s;
    display: flex;
    flex-direction: column;
    gap: 11px;
    margin: 6px 0 4px;
}
[data-gamme] #produit-content ol.steps li::before {
        counter-increment: s;
    content: counter(s);
    position: absolute;
    left: -24px;
    top: 2px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--vicat-blue);
    color: #fff;
    font-family: var(--font-display);
    font-size: .875rem;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* 7. JUMBOTRON — neutralise le fond "primary" du thème, garde un filet d'accent */
[data-gamme] .az-jumbotron.dxpr-theme-util-background-primary{
  background: var(--grey-50) !important;
  color:inherit !important;
  border-left:3px solid var(--accent);
}
[data-gamme] .az-jumbotron.dxpr-theme-util-background-primary .info-t { 
    font-size: .8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--accent) !important;
    margin-bottom: 6px;
}
[data-gamme] .az-jumbotron.dxpr-theme-util-background-primary ul { margin-bottom: 0; }
[data-gamme] .az-jumbotron.dxpr-theme-util-background-primary ul li { font-size: 0.875rem; }

/* 8. ACCORDÉON — accent sur l'entête ouverte */
[data-gamme] .accordion-button:not(.collapsed){
  color:var(--accent);
  box-shadow:inset 0 -1px 0 var(--accent);
}

/* 9. ACTIONS — toujours teal, jamais l'accent (discipline de conversion) */
[data-gamme] #produit-content a{ color:var(--action); }
[data-gamme] .btn-devis,
[data-gamme] .btn-cta{ background:var(--action); border-color:var(--action); color:#fff; }

/* Pages CGV */
.cgv h2, .cgv h3 { display: block; padding-bottom:0;}
.cgv h2 { margin-top: 1,5%; }
.cgv h2 > h3 { margin-top: 1,5%; }
/* Page HUB CGV */
.cgv-liste {
  --cgv-bordure: #e3e3e3;
}
.cgv-liste .view-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(max-content, 1fr) auto auto;
  gap: 1rem 2rem;
}
.cgv-liste .cgv-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  align-items: center;
  padding: 1rem 1.25rem;
  background: #ffffff;
  border: 1px solid var(--cgv-bordure);
  border-radius: 4px;
margin-bottom: 1rem;
}
.cgv-liste .cgv-card__title {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.4;
}
.cgv-liste .cgv-card-date {
  font-size: 0.9375rem;
}
.cgv-liste h3 { margin: 0;}
@media (max-width: 991px) {
  .cgv-liste .view-content {
    grid-template-columns: minmax(0, 1fr);
  }

  .cgv-liste .cgv-card {
    grid-template-columns: auto auto;
    justify-content: start;
    gap: 0.5rem 1rem;
    padding: 1rem;
  }

  .cgv-liste .cgv-card > :nth-child(-n + 2) {
    grid-column: 1 / -1;
  }
}

/* body font face */
body, .tooltip {
  font-family: var(--dxt-setting-body-font-face);
  font-style: var(--dxt-setting-body-font-style);
  font-weight: var(--dxt-setting-body-font-weight);
}

/* nav font face */
nav,nav ul li,nav a {
  font-family: var(--dxt-setting-nav-font-face);
  font-style: var(--dxt-setting-nav-font-style);
  font-weight: var(--dxt-setting-nav-font-weight);
}

/* headings font face */
h1,h2,h3,h4,h5,h6,label,.field--label,.page-title, .html .tp-caption {
  font-family: var(--dxt-setting-headings-font-face);
  font-style: var(--dxt-setting-headings-font-style);
}

/* sitename font face */
.site-name, .navbar-brand {
  font-family: var(--dxt-setting-sitename-font-face);
  font-style: var(--dxt-setting-sitename-font-style);
  font-weight: var(--dxt-setting-sitename-font-weight);
}

/* blockquote font face */
blockquote, blockquote p {
  font-family: var(--dxt-setting-blockquote-font-face);
  font-style: var(--dxt-setting-blockquote-font-style);
  font-weight: var(--dxt-setting-blockquote-font-weight);
}

/* Header Styling */
.body--dxpr-theme-nav-desktop #navbar.dxpr-theme-header--top {
  background-color: rgba(var(--dxt-color-header-rgb), );
}
.body--dxpr-theme-nav-desktop #navbar.dxpr-theme-header--top.affix {
  background-color: rgba(var(--dxt-color-header-rgb), var(--dxt-setting-header-top-bg-opacity-scroll));
}

.body--dxpr-theme-nav-desktop.body--dxpr-theme-header-overlay .page-title-full-width-container {
  padding-top: calc(var(--dxt-setting-header-top-height) + 30px);
}

/* Menu Options */

    #block-dxpr-theme-main-menu {
     .dropdown-menu {
        .dropdown {
          color: #333333 !important;

          * {
            color: #333333;
          }
        }
      }
    }
    #navbar #block-dxpr-theme-main-menu  .expanded.dropdown a {
      color: dxpr-color('white');
    }
  /* Layout Styles */
body {
  background-position: var(--dxt-setting-background-image-position);
  background-attachment: var(--dxt-setting-background-image-attachment);
}

/* Page Title Styles */
.page-title-full-width-container:after {
  opacity: var(--dxt-setting-page-title-image-opacity);
  background-position: var(--dxt-setting-page-title-image-position);
}

/* Theme Settings */
:root {
  --dxt-setting-background-image-attachment: fixed;
  --dxt-setting-background-image-position: center center;
  --dxt-setting-block-divider-length: 0.625rem;
  --dxt-setting-block-divider-spacing: 1.25rem;
  --dxt-setting-block-divider-thickness: 0.25rem;
  --dxt-setting-blockquote-font-face: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --dxt-setting-blockquote-font-weight: 400;
  --dxt-setting-blockquote-font-style: normal;
  --dxt-setting-blockquote-font-size: 1.375rem;
  --dxt-setting-blockquote-line-height: 1.5;
  --dxt-setting-blockquote-mobile-font-size: 1.375rem;
  --dxt-setting-body-font-face: "Jost", -apple-system, BlinkMacSystemFont, sans-serif;
  --dxt-setting-body-font-weight: 400;
  --dxt-setting-body-font-style: normal;
  --dxt-setting-body-font-size: 1rem;
  --dxt-setting-body-line-height: 1.8;
  --dxt-setting-body-mobile-font-size: 1rem;
  --dxt-setting-box-max-width: 137.5rem;
  --dxt-setting-boxed-layout-boxbg: #ffffff;
  --dxt-setting-divider-length: 100;
  --dxt-setting-divider-position: 0;
  --dxt-setting-divider-position-block: 0;
  --dxt-setting-divider-thickness: 0.5rem;
  --dxt-setting-dropdown-width: auto;
  --dxt-setting-gutter-container: 3.75rem;
  --dxt-setting-gutter-container-mobile: 1.875rem;
  --dxt-setting-gutter-horizontal: 1.875rem;
  --dxt-setting-gutter-horizontal-mobile: 1.875rem;
  --dxt-setting-gutter-vertical: 1.875rem;
  --dxt-setting-gutter-vertical-mobile: 1.875rem;
  --dxt-setting-h1-font-size: 3.4375rem;
  --dxt-setting-h1-mobile-font-size: 3.4375rem;
  --dxt-setting-h2-font-size: 2.5rem;
  --dxt-setting-h2-mobile-font-size: 2.5rem;
  --dxt-setting-h3-font-size: 1.875rem;
  --dxt-setting-h3-mobile-font-size: 1.875rem;
  --dxt-setting-h4-font-size: 1.375rem;
  --dxt-setting-h4-mobile-font-size: 1.375rem;
  --dxt-setting-header-mobile-breakpoint: 75rem;
  --dxt-setting-header-mobile-height: 3.75rem;
  --dxt-setting-header-side-align: left;
  --dxt-setting-header-top-bg-opacity-scroll: 1;
  --dxt-setting-header-top-height: 3.125rem;
  --dxt-setting-header-top-height-scroll: 3.75rem;
  --dxt-setting-header-top-height-sticky-offset: 3.75rem;
  --dxt-setting-headings-bold: normal;
  --dxt-setting-headings-font-face: "Spectral", -apple-system, BlinkMacSystemFont, sans-serif;
  --dxt-setting-headings-font-weight: 400;
  --dxt-setting-headings-font-style: normal;
  --dxt-setting-headings-line-height: 1.2;
  --dxt-setting-headings-uppercase: none;
  --dxt-setting-layout-max-width: 87.5rem;
  --dxt-setting-logo-height: 50%;
  --dxt-setting-menu-border-size: 0.0625rem;
  --dxt-setting-menu-link-spacing: 0.625rem;
  --dxt-setting-menu-text-color: white;
  --dxt-setting-nav-font-face: "Jost", -apple-system, BlinkMacSystemFont, sans-serif;
  --dxt-setting-nav-font-weight: 400;
  --dxt-setting-nav-font-style: normal;
  --dxt-setting-nav-font-size: 1rem;
  --dxt-setting-nav-mobile-font-size: 0.875rem;
  --dxt-setting-page-title-align: left;
  --dxt-setting-page-title-breadcrumbs-align: right;
  --dxt-setting-page-title-breadcrumbs-separator: "/";
  --dxt-setting-page-title-height: 7.5rem;
  --dxt-setting-page-title-image-opacity: 1;
  --dxt-setting-page-title-image-position: center center;
  --dxt-setting-page-title-image-style: cover;
  --dxt-setting-scale-factor: 1.36;
  --dxt-setting-sitename-font-face: "Jost", -apple-system, BlinkMacSystemFont, sans-serif;
  --dxt-setting-sitename-font-weight: 400;
  --dxt-setting-sitename-font-style: normal;
  --dxt-setting-title-align: left;
  --dxt-setting-title-font-size: var(--dxt-setting-h3-font-size);
  --dxt-setting-title-font-size-mobile: var(--dxt-setting-h3-mobile-font-size);
  --dxt-setting-title-sticker: block;
  --dxt-setting-title-type-uppercase: 0;
  --dxt-setting-title-type-bold: 0;
  --dxt-setting-title-type-italic: 0;
}

/* Typography Styles */
.dxpr-theme-header--top #dxpr-theme-main-menu .nav > li > a,
.dxpr-theme-header--top #dxpr-theme-main-menu .nav > li > span,
.body--dxpr-theme-nav-desktop .dxpr-theme-header--top .nav .dropdown-menu li a,
.body--dxpr-theme-nav-desktop .dxpr-theme-header--top .nav .dropdown-menu li span {
  font-size: var(--dxt-setting-nav-font-size);
}

@media screen and (max-width: 768px) {
  .dxpr-theme-header--top #dxpr-theme-main-menu .nav > li > a,
  .dxpr-theme-header--top #dxpr-theme-main-menu .nav > li > span,
  .body--dxpr-theme-nav-desktop .dxpr-theme-header--top .nav .dropdown-menu li a,
  .body--dxpr-theme-nav-desktop .dxpr-theme-header--top .nav .dropdown-menu li span {
    font-size: var(--dxt-setting-nav-mobile-font-size);
  }
}

