.elementor-kit-10{--e-global-color-primary:#8A5328;--e-global-color-secondary:#B0703C;--e-global-color-text:#1A1410;--e-global-color-accent:#2D4A3E;--e-global-color-5f0f788:#EDE3D3;--e-global-color-870aa00:#F7F2EA;--e-global-color-e6d4571:#DCCDB8;--e-global-color-5c3fd07:#6B5947;--e-global-color-e08d74a:#241910;--e-global-color-fe4c752:#3E7D54;--e-global-color-d7e7d64:#C0492E;--e-global-color-d4d1320:#FFFFFF;--e-global-typography-primary-font-family:"Space Grotesk";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Newsreader";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Newsreader";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-a68e0db-font-family:"Bricolage Grotesque";--e-global-typography-a68e0db-font-size:86px;--e-global-typography-a68e0db-font-weight:700;--e-global-typography-a68e0db-line-height:0.98em;--e-global-typography-a68e0db-letter-spacing:-1.5px;--e-global-typography-2f32d9f-font-family:"Bricolage Grotesque";--e-global-typography-2f32d9f-font-size:46px;--e-global-typography-2f32d9f-font-weight:700;--e-global-typography-2f32d9f-line-height:1.08em;--e-global-typography-2f32d9f-letter-spacing:-0.5px;--e-global-typography-02f7c90-font-family:"Bricolage Grotesque";--e-global-typography-02f7c90-font-size:24px;--e-global-typography-02f7c90-font-weight:600;--e-global-typography-02f7c90-text-transform:uppercase;--e-global-typography-02f7c90-line-height:1.2em;--e-global-typography-02f7c90-letter-spacing:1.5px;--e-global-typography-de257a7-font-family:"Bricolage Grotesque";--e-global-typography-de257a7-font-size:17px;--e-global-typography-de257a7-font-weight:600;--e-global-typography-de257a7-text-transform:uppercase;--e-global-typography-de257a7-line-height:1.3em;--e-global-typography-de257a7-letter-spacing:3px;--e-global-typography-83c0c12-font-family:"Newsreader";--e-global-typography-83c0c12-font-size:18px;--e-global-typography-83c0c12-font-weight:400;--e-global-typography-83c0c12-line-height:1.6em;--e-global-typography-57fb187-font-family:"Newsreader";--e-global-typography-57fb187-font-size:22px;--e-global-typography-57fb187-font-weight:400;--e-global-typography-57fb187-font-style:italic;--e-global-typography-8c0e067-font-family:"Bricolage Grotesque";--e-global-typography-8c0e067-font-size:13px;--e-global-typography-8c0e067-font-weight:500;--e-global-typography-8c0e067-line-height:1.5em;--e-global-typography-8c0e067-letter-spacing:0.5px;}.elementor-kit-10 a{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-83c0c12-font-family ), Sans-serif;font-size:var( --e-global-typography-83c0c12-font-size );font-weight:var( --e-global-typography-83c0c12-font-weight );line-height:var( --e-global-typography-83c0c12-line-height );letter-spacing:var( --e-global-typography-83c0c12-letter-spacing );word-spacing:var( --e-global-typography-83c0c12-word-spacing );}.elementor-kit-10 a:hover{color:var( --e-global-color-text );font-family:var( --e-global-typography-83c0c12-font-family ), Sans-serif;font-size:var( --e-global-typography-83c0c12-font-size );font-weight:var( --e-global-typography-83c0c12-font-weight );line-height:var( --e-global-typography-83c0c12-line-height );letter-spacing:var( --e-global-typography-83c0c12-letter-spacing );word-spacing:var( --e-global-typography-83c0c12-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-10 e-page-transition{background-color:#FFBC7D;}@media(max-width:1024px){.elementor-kit-10{--e-global-typography-a68e0db-font-size:56px;--e-global-typography-2f32d9f-font-size:38px;--e-global-typography-2f32d9f-line-height:1.08em;--e-global-typography-2f32d9f-letter-spacing:-0.5px;--e-global-typography-02f7c90-font-size:22px;--e-global-typography-02f7c90-line-height:1.2em;--e-global-typography-02f7c90-letter-spacing:1.5px;--e-global-typography-de257a7-font-size:16px;--e-global-typography-de257a7-line-height:1.3em;--e-global-typography-de257a7-letter-spacing:3px;--e-global-typography-83c0c12-font-size:17px;--e-global-typography-83c0c12-line-height:1.6em;--e-global-typography-57fb187-font-size:20px;--e-global-typography-57fb187-line-height:1.5em;--e-global-typography-8c0e067-font-size:13px;--e-global-typography-8c0e067-line-height:1.5em;--e-global-typography-8c0e067-letter-spacing:0.5px;}.elementor-kit-10 a{font-size:var( --e-global-typography-83c0c12-font-size );line-height:var( --e-global-typography-83c0c12-line-height );letter-spacing:var( --e-global-typography-83c0c12-letter-spacing );word-spacing:var( --e-global-typography-83c0c12-word-spacing );}.elementor-kit-10 a:hover{font-size:var( --e-global-typography-83c0c12-font-size );line-height:var( --e-global-typography-83c0c12-line-height );letter-spacing:var( --e-global-typography-83c0c12-letter-spacing );word-spacing:var( --e-global-typography-83c0c12-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-10{--e-global-typography-a68e0db-font-size:44px;--e-global-typography-a68e0db-line-height:0.98em;--e-global-typography-a68e0db-letter-spacing:-1.5px;--e-global-typography-2f32d9f-font-size:30px;--e-global-typography-2f32d9f-line-height:1.08em;--e-global-typography-2f32d9f-letter-spacing:-0.5px;--e-global-typography-02f7c90-font-size:20px;--e-global-typography-02f7c90-line-height:1.2em;--e-global-typography-02f7c90-letter-spacing:1.5px;--e-global-typography-de257a7-font-size:16px;--e-global-typography-de257a7-line-height:1.3em;--e-global-typography-de257a7-letter-spacing:3px;--e-global-typography-83c0c12-font-size:16px;--e-global-typography-83c0c12-line-height:1.6em;--e-global-typography-57fb187-font-size:18px;--e-global-typography-57fb187-line-height:1.5em;--e-global-typography-8c0e067-font-size:12px;--e-global-typography-8c0e067-line-height:1.5em;--e-global-typography-8c0e067-letter-spacing:0.5px;}.elementor-kit-10 a{font-size:var( --e-global-typography-83c0c12-font-size );line-height:var( --e-global-typography-83c0c12-line-height );letter-spacing:var( --e-global-typography-83c0c12-letter-spacing );word-spacing:var( --e-global-typography-83c0c12-word-spacing );}.elementor-kit-10 a:hover{font-size:var( --e-global-typography-83c0c12-font-size );line-height:var( --e-global-typography-83c0c12-line-height );letter-spacing:var( --e-global-typography-83c0c12-letter-spacing );word-spacing:var( --e-global-typography-83c0c12-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   BRUNEL CHARPENTE — CSS COMPLET ELEMENTOR / WORDPRESS
   Version complète : boutons + colonnes + FAQ Nested Accordion
   ========================================================= */

/* VARIABLES GLOBALES */
:root {
  --bg:#FBF9F5;
  --bg2:#F3EEE5;
  --card:#FFFFFF;
  --card2:#F7F2E9;
  --amber:#E8A23D;
  --amber2:#D98A2C;
  --ochre:#9C5E12;
  --cream:#F4F1EC;
  --ink:#16120D;
  --mut:#6B6258;
  --line:#E6DFD3;
  --ok:#3E7D54;
  --err:#C0492E;
  --disp:'Bricolage Grotesque', sans-serif;
  --body:'Hanken Grotesk', sans-serif;
  --max:1200px;
  --ease:cubic-bezier(.16,1,.3,1);
}

/* BASE */
html {
  scroll-behavior:smooth;
}

body {
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  font-size:18px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

.bc-site {
  background:var(--bg);
  color:var(--ink);
  font-family:var(--body);
  font-size:18px;
  line-height:1.65;
  overflow-x:hidden;
}

.bc-site *,
.bc-header *,
.bc-footer * {
  box-sizing:border-box;
}

.bc-site img,
.bc-header img,
.bc-footer img {
  display:block;
  max-width:100%;
}

.bc-site a,
.bc-header a,
.bc-footer a {
  color:inherit;
  text-decoration:none;
}

/* WRAPPER GLOBAL */
.bc-wrap {
  width:100%;
  max-width:var(--max);
  margin-left:auto;
  margin-right:auto;
  padding-left:40px;
  padding-right:40px;
}

.bc-sec {
  padding-top:110px;
  padding-bottom:110px;
}

.bc-section-alt {
  background:var(--bg2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

/* TYPOGRAPHIES */
.bc-site h1,
.bc-site h2,
.bc-site h3,
.bc-site h4,
.bc-heading-xl,
.bc-section-title,
.bc-brand,
.bc-stat-number,
.bc-footer-title {
  font-family:var(--disp);
}

.bc-kicker {
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:rgba(232,162,61,.16);
  color:var(--ochre);
  font-weight:600;
  font-size:12.5px;
  letter-spacing:1px;
  text-transform:uppercase;
  padding:8px 15px;
  border-radius:100px;
  font-family:var(--body);
  width:max-content;
}

.bc-section-title {
  font-size:clamp(32px,4.6vw,58px);
  font-weight:700;
  line-height:1.02;
  letter-spacing:-1.5px;
  margin:22px 0 0;
  color:var(--ink);
}

.bc-section-title .elementor-heading-title {
  font-size:clamp(32px,4.6vw,58px);
  font-family:var(--disp);
  font-weight:700;
  line-height:1.02;
  letter-spacing:-1.5px;
  color:var(--ink);
}

.bc-lead {
  font-size:20px;
  color:var(--mut);
  max-width:60ch;
  margin-top:18px;
  line-height:1.6;
}

.bc-lead p {
  margin:0;
}

.bc-muted {
  color:var(--mut);
}

/* =========================================================
   BOUTONS ELEMENTOR — CORRECTION DOUBLE CONTOUR
   ========================================================= */

.bc-btn {
  display:inline-block;
}

.bc-btn .elementor-button {
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-family:var(--body);
  font-weight:600;
  font-size:15px;
  line-height:1;
  padding:15px 28px !important;
  border-radius:100px !important;
  cursor:pointer;
  border:1.5px solid transparent;
  text-decoration:none;
  transition:
    transform .25s var(--ease),
    background .25s,
    color .25s,
    box-shadow .25s,
    border-color .25s;
}

.bc-btn .elementor-button:hover {
  transform:translateY(-2px);
}

.bc-btn-primary .elementor-button {
  background:var(--amber) !important;
  color:#1a1206 !important;
  border-color:var(--amber) !important;
}

.bc-btn-primary .elementor-button:hover {
  background:var(--amber2) !important;
  border-color:var(--amber2) !important;
  box-shadow:0 14px 30px rgba(232,162,61,.3);
}

.bc-btn-ghost .elementor-button {
  background:transparent !important;
  color:var(--ink) !important;
  border-color:#D8CFBF !important;
}

.bc-btn-ghost .elementor-button:hover {
  border-color:var(--ochre) !important;
  color:var(--ochre) !important;
}

.bc-hero .bc-btn-ghost .elementor-button {
  background:rgba(255,255,255,.08) !important;
  color:var(--cream) !important;
  border-color:rgba(255,255,255,.3) !important;
}

.bc-hero .bc-btn-ghost .elementor-button:hover {
  border-color:var(--cream) !important;
  color:var(--cream) !important;
}

/* Variante si bouton fait en HTML pur */
a.bc-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-family:var(--body);
  font-weight:600;
  font-size:15px;
  line-height:1;
  padding:15px 28px;
  border-radius:100px;
  border:1.5px solid transparent;
  transition:
    transform .25s var(--ease),
    background .25s,
    color .25s,
    box-shadow .25s,
    border-color .25s;
}

a.bc-btn:hover {
  transform:translateY(-2px);
}

a.bc-btn-primary {
  background:var(--amber);
  color:#1a1206;
  border-color:var(--amber);
}

a.bc-btn-primary:hover {
  background:var(--amber2);
  border-color:var(--amber2);
  box-shadow:0 14px 30px rgba(232,162,61,.3);
}

a.bc-btn-ghost {
  background:transparent;
  color:var(--ink);
  border-color:#D8CFBF;
}

a.bc-btn-ghost:hover {
  border-color:var(--ochre);
  color:var(--ochre);
}

.bc-hero a.bc-btn-ghost {
  background:rgba(255,255,255,.08);
  color:var(--cream);
  border-color:rgba(255,255,255,.3);
}

.bc-hero a.bc-btn-ghost:hover {
  border-color:var(--cream);
  color:var(--cream);
}

/* =========================================================
   HEADER
   ========================================================= */

.bc-header {
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  padding:22px 0;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:
    background .4s var(--ease),
    padding .4s var(--ease),
    border-color .4s var(--ease);
}

.bc-header.bc-solid {
  background:rgba(251,249,245,.9);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom-color:var(--line);
  padding:13px 0;
}

.bc-header-inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.bc-brand {
  display:flex;
  align-items:center;
  gap:11px;
  font-weight:700;
  letter-spacing:2px;
  text-transform:uppercase;
  font-size:15px;
  color:var(--cream);
}

.bc-header.bc-solid .bc-brand {
  color:var(--ink);
}

.bc-logo-svg {
  width:32px;
  height:32px;
  flex:none;
}

.bc-nav .elementor-nav-menu {
  display:flex;
  gap:30px;
}

.bc-nav .elementor-nav-menu > li > a {
  font-size:14.5px;
  font-weight:500;
  color:var(--cream) !important;
  opacity:.9;
  transition:opacity .2s, color .2s;
}

.bc-header.bc-solid .bc-nav .elementor-nav-menu > li > a {
  color:var(--ink) !important;
  opacity:.82;
}

.bc-nav .elementor-nav-menu > li > a:hover {
  opacity:1;
  color:var(--amber) !important;
}

.bc-header.bc-solid .bc-nav .elementor-nav-menu > li > a:hover {
  color:var(--ochre) !important;
}

.bc-header-phone {
  color:var(--cream);
  font-weight:600;
  font-size:14.5px;
  transition:color .2s;
}

.bc-header-phone:hover {
  color:var(--amber);
}

.bc-header.bc-solid .bc-header-phone {
  color:var(--ink);
}

/* =========================================================
   HERO
   ========================================================= */

.bc-hero {
  position:relative;
  min-height:100vh;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  background:var(--bg);
  isolation:isolate;
}

.bc-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(
      180deg,
      rgba(14,13,12,.5),
      rgba(14,13,12,.15) 36%,
      rgba(14,13,12,.86)
    );
  pointer-events:none;
}

.bc-hero .elementor-background-overlay {
  z-index:0;
}

.bc-hero-inner {
  position:relative;
  z-index:2;
  width:100%;
  padding-bottom:9vh;
}

.bc-hero-content {
  max-width:1000px;
}

.bc-hero-tag {
  display:flex;
  align-items:center;
  gap:11px;
  color:var(--amber);
  font-weight:600;
  font-size:13px;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:22px;
}

.bc-hero-tag::before {
  content:"";
  width:32px;
  height:1px;
  background:var(--amber);
  flex:none;
}

.bc-hero-title {
  font-family:var(--disp);
  font-weight:800;
  font-size:clamp(54px,9.5vw,138px);
  line-height:.9;
  letter-spacing:-3px;
  color:var(--cream);
  margin:0;
}

.bc-hero-title .elementor-heading-title {
  color:var(--cream);
  font-family:var(--disp);
  font-weight:800;
  font-size:clamp(54px,9.5vw,138px);
  line-height:.9;
  letter-spacing:-3px;
}

.bc-hero-sub {
  font-size:clamp(17px,1.6vw,22px);
  max-width:52ch;
  margin-top:26px;
  color:#eceae5;
  line-height:1.55;
}

.bc-hero-sub p {
  margin:0;
}

.bc-hero-buttons {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:38px;
}

.bc-hero-meta {
  display:flex;
  gap:46px;
  margin-top:50px;
  flex-wrap:wrap;
}

.bc-hero-meta .bc-stat-number {
  font-weight:700;
  font-size:32px;
  color:var(--cream);
  line-height:1;
}

.bc-hero-meta .bc-stat-label {
  font-size:12.5px;
  color:#cfcbc3;
  letter-spacing:.4px;
  margin-top:2px;
}

/* =========================================================
   TRUST BAR
   ========================================================= */

.bc-trust {
  background:var(--bg2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.bc-trust-inner {
  display:flex;
  flex-wrap:wrap;
  gap:16px 44px;
  justify-content:space-between;
  padding-top:26px;
  padding-bottom:26px;
}

.bc-trust-item {
  display:flex;
  align-items:center;
  gap:11px;
  font-weight:500;
  font-size:15px;
  color:var(--mut);
}

.bc-trust-item svg,
.bc-trust-item i {
  width:20px;
  height:20px;
  color:var(--ochre);
  flex:none;
}

/* =========================================================
   PRESTATIONS
   ========================================================= */

.bc-presta-grid {
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
  margin-top:54px;
  width:100%;
}

.bc-presta-grid > .bc-pcard {
  width:100%;
  min-width:0;
}

.bc-pcard {
  position:relative;
  border-radius:22px;
  overflow:hidden;
  min-height:380px;
  display:flex;
  align-items:flex-end;
  border:1px solid var(--line);
  isolation:isolate;
}

.bc-pcard::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(
      180deg,
      rgba(14,13,12,.1) 28%,
      rgba(14,13,12,.55) 58%,
      rgba(14,13,12,.94)
    );
}

.bc-pcard-img {
  position:absolute !important;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
}

.bc-pcard-img img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform 1s var(--ease);
}

.bc-pcard:hover .bc-pcard-img img {
  transform:scale(1.06);
}

.bc-pcard-body {
  position:relative;
  z-index:2;
  padding:32px;
}

.bc-pcard-title {
  font-size:27px;
  margin-bottom:10px;
  color:var(--cream);
  font-family:var(--disp);
  font-weight:600;
  line-height:1.15;
}

.bc-pcard-title .elementor-heading-title {
  color:var(--cream);
  font-size:27px;
  font-family:var(--disp);
  font-weight:600;
  line-height:1.15;
}

.bc-pcard-text {
  color:#e7e2d9;
  font-size:16px;
  max-width:44ch;
}

.bc-pcard-text p {
  margin:0;
}

.bc-pcard-more {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:16px;
  color:var(--amber);
  font-weight:600;
  font-size:14px;
}

/* =========================================================
   RÉALISATIONS / GALERIE
   ========================================================= */

.bc-gallery-grid {
  columns:3;
  column-gap:20px;
  margin-top:50px;
}

.bc-gallery-item {
  break-inside:avoid;
  margin-bottom:20px;
  position:relative;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
}

.bc-gallery-item img {
  width:100%;
  object-fit:cover;
  transition:transform .8s var(--ease);
}

.bc-gallery-item:hover img {
  transform:scale(1.05);
}

.bc-gallery-caption {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:18px;
  background:linear-gradient(transparent,rgba(14,13,12,.92));
  opacity:0;
  transform:translateY(8px);
  transition:.4s var(--ease);
}

.bc-gallery-item:hover .bc-gallery-caption {
  opacity:1;
  transform:none;
}

.bc-gallery-type {
  color:var(--amber);
  font-weight:600;
  font-size:11px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  display:block;
  margin-bottom:3px;
}

.bc-gallery-title {
  font-weight:600;
  font-size:15px;
  color:var(--cream);
}

/* =========================================================
   CTA BAND SOMBRE
   ========================================================= */

.bc-band {
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.bc-band::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(14,13,12,.92),rgba(14,13,12,.55));
  pointer-events:none;
}

.bc-band-inner {
  position:relative;
  z-index:2;
  padding-top:120px;
  padding-bottom:120px;
}

.bc-band .bc-kicker {
  background:rgba(244,184,92,.2);
  color:#F4B85C;
}

.bc-band .bc-section-title {
  max-width:18ch;
  color:var(--cream);
}

.bc-band .bc-section-title .elementor-heading-title {
  color:var(--cream);
}

.bc-band .bc-lead {
  color:#e0ddd6;
}

/* =========================================================
   À PROPOS — CORRECTION COLONNES ELEMENTOR
   ========================================================= */

.bc-about-grid {
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:60px;
  align-items:center;
  width:100%;
}

.bc-about-grid > .bc-about-content,
.bc-about-grid > .bc-about-media {
  width:100%;
  min-width:0;
}

.bc-about-content {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.bc-about-media {
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--line);
  aspect-ratio:5 / 6;
}

.bc-about-media img {
  width:100%;
  height:100%;
  object-fit:cover;
}

.bc-stats {
  display:flex;
  gap:40px;
  flex-wrap:wrap;
  margin-top:36px;
}

.bc-stat-number {
  font-family:var(--disp);
  font-size:42px;
  font-weight:700;
  color:var(--ochre);
  line-height:1;
}

.bc-stat-label {
  font-size:12.5px;
  color:var(--mut);
  letter-spacing:.5px;
  text-transform:uppercase;
  margin-top:7px;
}

/* =========================================================
   AVIS CLIENTS
   ========================================================= */

.bc-avis-head {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:24px;
}

.bc-google-score {
  display:flex;
  align-items:center;
  gap:15px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px 22px;
  box-shadow:0 10px 30px rgba(60,45,20,.06);
}

.bc-google-score-number {
  font-family:var(--disp);
  font-weight:700;
  font-size:38px;
  color:var(--ochre);
  line-height:1;
}

.bc-stars {
  color:var(--amber);
  letter-spacing:2px;
}

.bc-avis-grid {
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:22px;
  margin-top:46px;
  width:100%;
}

.bc-avis-grid > .bc-avis-card {
  width:100%;
  min-width:0;
}

.bc-avis-card {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:20px;
  padding:30px;
  box-shadow:0 10px 30px rgba(60,45,20,.05);
}

.bc-avis-card p {
  font-size:18px;
  margin:14px 0 20px;
  line-height:1.55;
  color:var(--ink);
}

.bc-avis-who {
  display:flex;
  align-items:center;
  gap:13px;
}

.bc-avatar {
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--amber),#8a5a25);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--disp);
  font-weight:700;
  color:#1a1206;
  flex:none;
}

.bc-avis-who b {
  font-size:15px;
  display:block;
  color:var(--ink);
}

.bc-avis-who span {
  font-size:13px;
  color:var(--mut);
}

/* =========================================================
   ZONE D'INTERVENTION
   ========================================================= */

.bc-zone-grid {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:40px;
}

.bc-zone-pill {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:13px 20px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:100px;
  font-weight:500;
  font-size:15px;
  color:var(--ink);
  transition:.25s var(--ease);
}

.bc-zone-pill:hover {
  border-color:var(--ochre);
  color:var(--ochre);
  transform:translateY(-2px);
}

.bc-zone-pill svg,
.bc-zone-pill i {
  width:14px;
  height:14px;
  color:var(--amber);
}

/* =========================================================
   FAQ — ELEMENTOR NESTED ACCORDION
   ========================================================= */

.bc-faq {
  width:100%;
  max-width:860px;
  margin-top:46px;
  margin-left:0;
  margin-right:auto;
}

.bc-faq .e-n-accordion {
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  width:100% !important;
}

.bc-faq .e-n-accordion-item {
  background:var(--card) !important;
  border:1px solid var(--line) !important;
  border-radius:16px !important;
  overflow:hidden !important;
  box-shadow:none !important;
  transition:
    border-color .3s var(--ease),
    box-shadow .3s var(--ease),
    background .3s var(--ease);
}

.bc-faq .e-n-accordion-item[open] {
  border-color:rgba(232,162,61,.55) !important;
  box-shadow:0 12px 32px rgba(60,45,20,.045) !important;
}

.bc-faq .e-n-accordion-item-title {
  width:100% !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:20px !important;
  padding:24px 26px !important;
  margin:0 !important;
  background:var(--card) !important;
  border:0 !important;
  cursor:pointer !important;
  list-style:none !important;
  min-height:auto !important;
  text-align:left !important;
}

.bc-faq .e-n-accordion-item-title::-webkit-details-marker {
  display:none !important;
}

.bc-faq .e-n-accordion-item-title::marker {
  display:none !important;
  content:"" !important;
}

.bc-faq .e-n-accordion-item-title-header {
  flex:1 1 auto !important;
  min-width:0 !important;
  display:block !important;
  text-align:left !important;
  order:1 !important;
}

.bc-faq .e-n-accordion-item-title-text {
  font-family:var(--disp) !important;
  font-size:20px !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  letter-spacing:-.2px !important;
  color:var(--ink) !important;
  text-align:left !important;
  padding:0 !important;
  margin:0 !important;
}

.bc-faq .e-n-accordion-item-title-icon {
  order:2 !important;
  flex:0 0 34px !important;
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:rgba(232,162,61,.16) !important;
  color:var(--ochre) !important;
  margin-left:auto !important;
  line-height:1 !important;
  position:relative !important;
}

.bc-faq .e-n-accordion-item-title-icon svg {
  width:14px !important;
  height:14px !important;
  min-width:14px !important;
  min-height:14px !important;
  max-width:14px !important;
  max-height:14px !important;
  display:block !important;
  fill:currentColor !important;
  color:var(--ochre) !important;
  transform:none !important;
}

.bc-faq .e-n-accordion-item-title-icon .e-opened,
.bc-faq .e-n-accordion-item-title-icon .e-closed {
  width:14px !important;
  height:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
}

.bc-faq .e-n-accordion-item:not([open]) .e-opened {
  display:none !important;
}

.bc-faq .e-n-accordion-item:not([open]) .e-closed {
  display:flex !important;
}

.bc-faq .e-n-accordion-item[open] .e-opened {
  display:flex !important;
}

.bc-faq .e-n-accordion-item[open] .e-closed {
  display:none !important;
}

.bc-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon {
  background:var(--amber) !important;
  color:#1a1206 !important;
}

.bc-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg {
  color:#1a1206 !important;
  fill:currentColor !important;
}

.bc-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-text {
  color:var(--ochre) !important;
}

.bc-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-icon {
  background:var(--amber) !important;
  color:#1a1206 !important;
}

.bc-faq .e-n-accordion-item > [role="region"] {
  padding:0 26px 26px 26px !important;
  margin:0 !important;
  background:var(--card) !important;
  border:0 !important;
  color:var(--mut) !important;
  font-size:17px !important;
  line-height:1.65 !important;
  max-width:100% !important;
}

.bc-faq .e-n-accordion-item > [role="region"].e-con,
.bc-faq .e-n-accordion-item > [role="region"] .e-con-inner {
  padding:0 !important;
  margin:0 !important;
  max-width:none !important;
  width:100% !important;
  min-height:0 !important;
}

.bc-faq .e-n-accordion-item > [role="region"] p {
  margin:0 !important;
  color:var(--mut) !important;
  font-size:17px !important;
  line-height:1.65 !important;
  max-width:74ch !important;
}

.bc-faq .e-n-accordion-item > [role="region"] a {
  color:var(--ochre) !important;
  text-decoration:none !important;
}

.bc-faq .e-n-accordion-item > [role="region"] a:hover {
  text-decoration:underline !important;
}

.bc-faq .e-n-accordion-item-title:focus,
.bc-faq .e-n-accordion-item-title:focus-visible {
  outline:3px solid rgba(156,94,18,.25) !important;
  outline-offset:3px !important;
  border-radius:14px !important;
}

/* Ancien widget accordéon Elementor, au cas où */
.bc-faq .elementor-toggle-item,
.bc-faq .elementor-accordion-item {
  border:1px solid var(--line) !important;
  border-radius:16px;
  margin-bottom:14px;
  background:var(--card);
  overflow:hidden;
}

.bc-faq .elementor-tab-title {
  padding:24px 26px !important;
  font-family:var(--disp);
  font-weight:600;
  font-size:20px;
  color:var(--ink) !important;
  border:0 !important;
}

.bc-faq .elementor-tab-content {
  padding:0 26px 26px !important;
  color:var(--mut);
  font-size:17px;
  max-width:74ch;
  border-top:0 !important;
}

/* =========================================================
   CONTACT
   ========================================================= */

.bc-contact-grid {
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr);
  gap:54px;
  width:100%;
}

.bc-contact-grid > .bc-contact-info,
.bc-contact-grid > .bc-contact-form {
  width:100%;
  min-width:0;
}

.bc-contact-line {
  display:flex;
  gap:16px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}

.bc-contact-line svg,
.bc-contact-line i {
  width:22px;
  height:22px;
  color:var(--ochre);
  flex:none;
  margin-top:3px;
}

.bc-contact-key {
  font-size:12px;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:var(--mut);
  font-weight:600;
}

.bc-contact-value {
  font-size:18px;
  margin-top:3px;
  color:var(--ink);
}

.bc-contact-value a {
  color:var(--amber);
}

.bc-contact-form {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:24px;
  padding:38px;
  box-shadow:0 18px 50px rgba(60,45,20,.07);
}

.bc-contact-form .elementor-field-group {
  margin-bottom:18px;
}

.bc-contact-form label {
  font-size:12px !important;
  letter-spacing:.8px;
  text-transform:uppercase;
  color:var(--mut) !important;
  font-weight:600 !important;
  margin-bottom:8px;
}

.bc-contact-form input,
.bc-contact-form textarea,
.bc-contact-form select {
  background:var(--bg) !important;
  border:1.5px solid var(--line) !important;
  color:var(--ink) !important;
  font-family:var(--body) !important;
  font-size:16px !important;
  padding:14px 16px !important;
  border-radius:12px !important;
  box-shadow:none !important;
}

.bc-contact-form input::placeholder,
.bc-contact-form textarea::placeholder {
  color:#9c9387 !important;
}

.bc-contact-form input:focus,
.bc-contact-form textarea:focus,
.bc-contact-form select:focus {
  outline:none !important;
  border-color:var(--ochre) !important;
  box-shadow:0 0 0 3px rgba(156,94,18,.15) !important;
}

.bc-contact-form .elementor-button {
  width:100%;
  justify-content:center;
  background:var(--amber) !important;
  color:#1a1206 !important;
  border:1.5px solid var(--amber) !important;
  border-radius:100px !important;
  padding:15px 28px !important;
  font-weight:600 !important;
  font-size:15px !important;
  transition:
    transform .25s var(--ease),
    background .25s,
    box-shadow .25s;
}

.bc-contact-form .elementor-button:hover {
  transform:translateY(-2px);
  background:var(--amber2) !important;
  border-color:var(--amber2) !important;
  box-shadow:0 14px 30px rgba(232,162,61,.3);
}

/* =========================================================
   FOOTER
   ========================================================= */

.bc-footer {
  background:var(--bg2);
  border-top:1px solid var(--line);
  padding:70px 0 30px;
}

.bc-footer-grid {
  display:grid !important;
  grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr);
  gap:44px;
  width:100%;
}

.bc-footer-grid > * {
  min-width:0;
}

.bc-footer-title {
  font-size:12px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  color:var(--ochre);
  margin-bottom:16px;
  font-weight:700;
}

.bc-footer a,
.bc-footer p {
  color:var(--mut);
  font-size:15px;
}

.bc-footer a {
  display:block;
  padding:5px 0;
  transition:color .2s;
}

.bc-footer a:hover {
  color:var(--ochre);
}

.bc-footer-bottom {
  border-top:1px solid var(--line);
  margin-top:46px;
  padding-top:24px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  font-size:13px;
  color:var(--mut);
}

/* =========================================================
   CALLBAR MOBILE
   ========================================================= */

.bc-callbar {
  display:none;
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:90;
  background:rgba(251,249,245,.97);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-top:1px solid var(--line);
  padding:10px 16px;
  gap:10px;
}

.bc-callbar .elementor-button-wrapper {
  width:100%;
}

.bc-callbar .elementor-button {
  width:100%;
}

/* =========================================================
   POPUP MENU MOBILE
   ========================================================= */

.bc-mobile-menu {
  background:var(--bg);
}

.bc-mobile-menu a {
  font-family:var(--disp);
  font-size:24px;
  font-weight:600;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  display:block;
}

/* =========================================================
   RESPONSIVE TABLETTE
   ========================================================= */

@media (max-width:1024px) {
  .bc-nav,
  .bc-header-phone,
  .bc-header-cta {
    display:none !important;
  }

  .bc-gallery-grid {
    columns:2;
  }

  .bc-presta-grid {
    grid-template-columns:1fr;
  }

  .bc-avis-grid {
    grid-template-columns:1fr;
  }

  .bc-faq {
    max-width:100%;
  }

  .bc-faq .e-n-accordion-item-title {
    padding:22px 24px !important;
  }

  .bc-faq .e-n-accordion-item > [role="region"] {
    padding:0 24px 24px 24px !important;
  }

  .bc-callbar {
    display:flex;
  }
}

/* =========================================================
   RESPONSIVE INTERMÉDIAIRE
   ========================================================= */

@media (max-width:880px) {
  .bc-about-grid {
    grid-template-columns:1fr;
    gap:34px;
  }

  .bc-about-media {
    aspect-ratio:3 / 2;
  }

  .bc-contact-grid {
    grid-template-columns:1fr;
    gap:34px;
  }

  .bc-avis-head {
    align-items:flex-start;
  }
}

/* =========================================================
   RESPONSIVE MOBILE
   ========================================================= */

@media (max-width:767px) {
  .bc-wrap {
    padding-left:24px;
    padding-right:24px;
  }

  .bc-sec {
    padding-top:70px;
    padding-bottom:70px;
  }

  .bc-section-title,
  .bc-section-title .elementor-heading-title {
    font-size:clamp(32px,9vw,46px);
    letter-spacing:-1px;
  }

  .bc-lead {
    font-size:18px;
  }

  .bc-hero-title,
  .bc-hero-title .elementor-heading-title {
    font-size:clamp(54px,17vw,82px);
    letter-spacing:-2px;
  }

  .bc-hero-inner {
    padding-bottom:12vh;
  }

  .bc-hero-buttons {
    gap:12px;
  }

  .bc-hero-buttons .elementor-widget-button {
    width:100%;
  }

  .bc-hero-buttons .elementor-button {
    width:100%;
  }

  .bc-hero-meta {
    gap:24px;
  }

  .bc-hero-meta .bc-stat-number {
    font-size:28px;
  }

  .bc-trust-inner {
    padding-left:24px;
    padding-right:24px;
    justify-content:flex-start;
  }

  .bc-gallery-grid {
    columns:1;
  }

  .bc-band-inner {
    padding-top:90px;
    padding-bottom:90px;
  }

  .bc-pcard {
    min-height:340px;
  }

  .bc-pcard-body {
    padding:26px;
  }

  .bc-pcard-title,
  .bc-pcard-title .elementor-heading-title {
    font-size:24px;
  }

  .bc-faq {
    margin-top:34px;
  }

  .bc-faq .e-n-accordion {
    gap:12px !important;
  }

  .bc-faq .e-n-accordion-item {
    border-radius:14px !important;
  }

  .bc-faq .e-n-accordion-item-title {
    padding:20px 20px !important;
    gap:14px !important;
  }

  .bc-faq .e-n-accordion-item-title-text {
    font-size:18px !important;
    line-height:1.3 !important;
  }

  .bc-faq .e-n-accordion-item-title-icon {
    flex-basis:32px !important;
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
  }

  .bc-faq .e-n-accordion-item-title-icon svg,
  .bc-faq .e-n-accordion-item-title-icon .e-opened,
  .bc-faq .e-n-accordion-item-title-icon .e-closed {
    width:13px !important;
    height:13px !important;
    min-width:13px !important;
    min-height:13px !important;
    max-width:13px !important;
    max-height:13px !important;
  }

  .bc-faq .e-n-accordion-item > [role="region"] {
    padding:0 20px 22px 20px !important;
    font-size:16px !important;
  }

  .bc-faq .e-n-accordion-item > [role="region"] p {
    font-size:16px !important;
  }

  .bc-contact-form {
    padding:26px;
  }

  .bc-footer-grid {
    grid-template-columns:1fr;
    gap:30px;
  }

  body {
    padding-bottom:72px;
  }
}

/* =========================================================
   ACCESSIBILITÉ / RÉDUCTION DES ANIMATIONS
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
  * {
    animation:none !important;
    transition:none !important;
  }

  html {
    scroll-behavior:auto;
  }
}

/* =========================================================
   ICÔNES DES BOUTONS EN NOIR
   ========================================================= */

.bc-btn .elementor-button-icon,
.bc-btn .elementor-button-icon i,
.bc-btn .elementor-button-icon svg,
.bc-btn .elementor-button-icon svg path {
  color:#000000 !important;
  fill:#000000 !important;
  stroke:#000000 !important;
}

/* Icônes des boutons dans le hero */
.bc-hero .bc-btn .elementor-button-icon,
.bc-hero .bc-btn .elementor-button-icon i,
.bc-hero .bc-btn .elementor-button-icon svg,
.bc-hero .bc-btn .elementor-button-icon svg path {
  color:#000000 !important;
  fill:#000000 !important;
  stroke:#000000 !important;
}

/* Icônes des boutons du formulaire */
.bc-contact-form .elementor-button-icon,
.bc-contact-form .elementor-button-icon i,
.bc-contact-form .elementor-button-icon svg,
.bc-contact-form .elementor-button-icon svg path {
  color:#000000 !important;
  fill:#000000 !important;
  stroke:#000000 !important;
}

/* Icônes de la barre mobile */
.bc-callbar .elementor-button-icon,
.bc-callbar .elementor-button-icon i,
.bc-callbar .elementor-button-icon svg,
.bc-callbar .elementor-button-icon svg path {
  color:#000000 !important;
  fill:#000000 !important;
  stroke:#000000 !important;
}

/* =========================================================
   HEADER ÉPINGLÉ / STICKY — CORRECTION MENU BLANC SUR BLANC
   ========================================================= */

/* État sticky via notre JS .bc-solid */
.bc-header.bc-solid {
  background:rgba(251,249,245,.94) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line) !important;
}

/* État sticky natif Elementor */
.bc-header.elementor-sticky--effects,
.elementor-sticky--effects .bc-header {
  background:rgba(251,249,245,.94) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line) !important;
}

/* Logo / nom entreprise en noir au scroll */
.bc-header.bc-solid .bc-brand,
.bc-header.elementor-sticky--effects .bc-brand,
.elementor-sticky--effects .bc-header .bc-brand {
  color:var(--ink) !important;
}

/* Menu principal en noir au scroll */
.bc-header.bc-solid .bc-nav .elementor-nav-menu > li > a,
.bc-header.elementor-sticky--effects .bc-nav .elementor-nav-menu > li > a,
.elementor-sticky--effects .bc-header .bc-nav .elementor-nav-menu > li > a {
  color:var(--ink) !important;
  opacity:.85 !important;
}

/* Hover du menu en ocre */
.bc-header.bc-solid .bc-nav .elementor-nav-menu > li > a:hover,
.bc-header.elementor-sticky--effects .bc-nav .elementor-nav-menu > li > a:hover,
.elementor-sticky--effects .bc-header .bc-nav .elementor-nav-menu > li > a:hover {
  color:var(--ochre) !important;
  opacity:1 !important;
}

/* Téléphone en noir au scroll */
.bc-header.bc-solid .bc-header-phone,
.bc-header.elementor-sticky--effects .bc-header-phone,
.elementor-sticky--effects .bc-header .bc-header-phone {
  color:var(--ink) !important;
}

/* Icône téléphone en noir */
.bc-header.bc-solid .bc-header-phone i,
.bc-header.bc-solid .bc-header-phone svg,
.bc-header.elementor-sticky--effects .bc-header-phone i,
.bc-header.elementor-sticky--effects .bc-header-phone svg,
.elementor-sticky--effects .bc-header .bc-header-phone i,
.elementor-sticky--effects .bc-header .bc-header-phone svg {
  color:var(--ink) !important;
  fill:var(--ink) !important;
  stroke:var(--ink) !important;
}

/* Burger mobile en noir quand le header est sticky */
.bc-header.bc-solid .elementor-menu-toggle,
.bc-header.elementor-sticky--effects .elementor-menu-toggle,
.elementor-sticky--effects .bc-header .elementor-menu-toggle {
  color:var(--ink) !important;
}

/* Cas où Elementor applique une couleur blanche directement sur les spans */
.bc-header.bc-solid .elementor-nav-menu a span,
.bc-header.elementor-sticky--effects .elementor-nav-menu a span,
.elementor-sticky--effects .bc-header .elementor-nav-menu a span {
  color:var(--ink) !important;
}

/* =========================================================
   HEADER STICKY — FOND SOMBRE DÉGRADÉ FAÇON HERO
   ========================================================= */

/* Base du header */
.bc-header {
  background:transparent !important;
  border-bottom:0 !important;
  overflow:visible !important;
}

/* On prépare un calque sombre derrière le contenu */
.bc-header::before {
  content:"";
  position:absolute;
  inset:0;
  height:115px;
  z-index:-1;
  opacity:0;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      rgba(14,13,12,.92) 0%,
      rgba(14,13,12,.78) 42%,
      rgba(14,13,12,.42) 72%,
      rgba(14,13,12,0) 100%
    );
  transition:opacity .35s var(--ease), height .35s var(--ease);
}

/* Header sticky via ton JS .bc-solid */
.bc-header.bc-solid {
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-bottom:0 !important;
  padding:13px 0 !important;
}

/* Header sticky natif Elementor */
.bc-header.elementor-sticky--effects,
.elementor-sticky--effects .bc-header {
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-bottom:0 !important;
  padding:13px 0 !important;
}

/* Affichage du dégradé quand le header est sticky */
.bc-header.bc-solid::before,
.bc-header.elementor-sticky--effects::before,
.elementor-sticky--effects .bc-header::before {
  opacity:1;
}

/* Le contenu du header doit rester au-dessus du dégradé */
.bc-header > *,
.bc-header .bc-header-inner,
.bc-header .bc-wrap {
  position:relative;
  z-index:2;
}

/* Logo / marque en blanc */
.bc-header.bc-solid .bc-brand,
.bc-header.elementor-sticky--effects .bc-brand,
.elementor-sticky--effects .bc-header .bc-brand {
  color:var(--cream) !important;
}

/* Menu en blanc */
.bc-header.bc-solid .bc-nav .elementor-nav-menu > li > a,
.bc-header.elementor-sticky--effects .bc-nav .elementor-nav-menu > li > a,
.elementor-sticky--effects .bc-header .bc-nav .elementor-nav-menu > li > a {
  color:var(--cream) !important;
  opacity:.9 !important;
}

/* Menu actif / hover en ambre */
.bc-header.bc-solid .bc-nav .elementor-nav-menu > li > a:hover,
.bc-header.bc-solid .bc-nav .elementor-nav-menu > li.current-menu-item > a,
.bc-header.elementor-sticky--effects .bc-nav .elementor-nav-menu > li > a:hover,
.bc-header.elementor-sticky--effects .bc-nav .elementor-nav-menu > li.current-menu-item > a,
.elementor-sticky--effects .bc-header .bc-nav .elementor-nav-menu > li > a:hover,
.elementor-sticky--effects .bc-header .bc-nav .elementor-nav-menu > li.current-menu-item > a {
  color:var(--amber) !important;
  opacity:1 !important;
}

/* Téléphone en blanc */
.bc-header.bc-solid .bc-header-phone,
.bc-header.elementor-sticky--effects .bc-header-phone,
.elementor-sticky--effects .bc-header .bc-header-phone {
  color:var(--cream) !important;
}

/* Icône téléphone en blanc */
.bc-header.bc-solid .bc-header-phone i,
.bc-header.bc-solid .bc-header-phone svg,
.bc-header.bc-solid .bc-header-phone svg path,
.bc-header.elementor-sticky--effects .bc-header-phone i,
.bc-header.elementor-sticky--effects .bc-header-phone svg,
.bc-header.elementor-sticky--effects .bc-header-phone svg path,
.elementor-sticky--effects .bc-header .bc-header-phone i,
.elementor-sticky--effects .bc-header .bc-header-phone svg,
.elementor-sticky--effects .bc-header .bc-header-phone svg path {
  color:var(--cream) !important;
  fill:var(--cream) !important;
  stroke:var(--cream) !important;
}

/* Bouton devis dans le header */
.bc-header .bc-header-cta .elementor-button,
.bc-header.bc-solid .bc-header-cta .elementor-button,
.bc-header.elementor-sticky--effects .bc-header-cta .elementor-button,
.elementor-sticky--effects .bc-header .bc-header-cta .elementor-button {
  background:var(--amber) !important;
  color:#1a1206 !important;
  border-color:var(--amber) !important;
  box-shadow:none !important;
}

.bc-header .bc-header-cta .elementor-button:hover,
.bc-header.bc-solid .bc-header-cta .elementor-button:hover,
.bc-header.elementor-sticky--effects .bc-header-cta .elementor-button:hover,
.elementor-sticky--effects .bc-header .bc-header-cta .elementor-button:hover {
  background:var(--amber2) !important;
  border-color:var(--amber2) !important;
  box-shadow:0 14px 30px rgba(232,162,61,.3) !important;
}

/* Burger mobile en blanc */
.bc-header.bc-solid .elementor-menu-toggle,
.bc-header.elementor-sticky--effects .elementor-menu-toggle,
.elementor-sticky--effects .bc-header .elementor-menu-toggle {
  color:var(--cream) !important;
}

/* Cas où Elementor applique une couleur sur un span interne */
.bc-header.bc-solid .elementor-nav-menu a span,
.bc-header.elementor-sticky--effects .elementor-nav-menu a span,
.elementor-sticky--effects .bc-header .elementor-nav-menu a span {
  color:inherit !important;
}

/* Responsive : dégradé un peu plus compact */
@media (max-width:1024px) {
  .bc-header::before {
    height:96px;
    background:
      linear-gradient(
        180deg,
        rgba(14,13,12,.94) 0%,
        rgba(14,13,12,.78) 50%,
        rgba(14,13,12,0) 100%
      );
  }
}

@media (max-width:767px) {
  .bc-header::before {
    height:86px;
  }
}

/* =========================================================
   PAGES LÉGALES / RGPD — BRUNEL CHARPENTE
   ========================================================= */

.bc-legal-hero {
  padding:160px 0 56px;
  border-bottom:1px solid var(--line);
  background:var(--bg2);
}

.bc-legal-title,
.bc-legal-title .elementor-heading-title {
  font-family:var(--disp);
  font-size:clamp(34px,5vw,54px);
  font-weight:700;
  line-height:1.02;
  letter-spacing:-1.4px;
  color:var(--ink);
  margin-top:18px;
}

.bc-legal-body {
  padding:64px 0 96px;
  background:var(--bg);
}

.bc-legal-content {
  max-width:880px;
}

.bc-legal-content h2 {
  font-family:var(--disp);
  font-size:26px;
  line-height:1.15;
  color:var(--ochre);
  margin:42px 0 14px;
}

.bc-legal-content h2:first-child {
  margin-top:0;
}

.bc-legal-content h3 {
  font-family:var(--disp);
  font-size:20px;
  color:var(--ink);
  margin:28px 0 10px;
}

.bc-legal-content p,
.bc-legal-content li {
  color:var(--mut);
  font-size:16px;
  line-height:1.7;
  max-width:80ch;
}

.bc-legal-content p {
  margin:0 0 14px;
}

.bc-legal-content ul {
  padding-left:22px;
  margin:10px 0 18px;
}

.bc-legal-content li {
  margin-bottom:6px;
}

.bc-legal-content a {
  color:var(--ochre);
  font-weight:600;
  text-decoration:none;
}

.bc-legal-content a:hover {
  text-decoration:underline;
}

.bc-legal-content table {
  width:100%;
  border-collapse:collapse;
  margin:18px 0 26px;
  background:var(--card);
  border-radius:14px;
  overflow:hidden;
}

.bc-legal-content th,
.bc-legal-content td {
  border:1px solid var(--line);
  padding:12px 14px;
  font-size:14px;
  text-align:left;
  vertical-align:top;
  color:var(--mut);
}

.bc-legal-content th {
  color:var(--ochre);
  font-family:var(--disp);
  font-size:12px;
  letter-spacing:.6px;
  text-transform:uppercase;
  background:var(--bg2);
}

.bc-legal-note {
  padding:18px 20px;
  border:1px solid rgba(232,162,61,.35);
  background:rgba(232,162,61,.10);
  border-radius:16px;
  color:var(--mut);
  font-size:15px;
  margin:24px 0;
}

@media (max-width:767px) {
  .bc-legal-hero {
    padding:130px 0 46px;
  }

  .bc-legal-body {
    padding:48px 0 76px;
  }

  .bc-legal-content h2 {
    font-size:23px;
  }

  .bc-legal-content table,
  .bc-legal-content thead,
  .bc-legal-content tbody,
  .bc-legal-content th,
  .bc-legal-content td,
  .bc-legal-content tr {
    display:block;
    width:100%;
  }

  .bc-legal-content th {
    border-bottom:0;
  }

  .bc-legal-content td {
    border-top:0;
  }

  .bc-legal-content tr {
    margin-bottom:14px;
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    background:var(--card);
  }
}/* End custom CSS */