
:root{
  --radius-xxl: 1.25rem;
  --accent: #1e6fdf;
  --accent-600: #155dba;
  --accent-50: #e9f2ff;
}
html[data-bs-theme="dark"]{
  --accent: #6aa6ff;
  --accent-600: #8ab0ff;
  --accent-50: #122036;
}
.py-6{padding-top:4rem!important;padding-bottom:4rem!important}
.rounded-4{border-radius: var(--radius-xxl)!important;}
h1,h2,h3,h4,h5{letter-spacing:-.01em}
.btn-lg{padding:.75rem 1.25rem;border-radius:.85rem}

.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-600);border-color:var(--accent-600)}
.btn-outline-accent{border-color:var(--accent);color:var(--accent)}
.btn-outline-accent:hover{background:var(--accent);color:#fff}
.bg-accent{background:var(--accent)!important}
.text-accent{color:var(--accent)!important}
.bg-accent-subtle{background:var(--accent-50)!important}

@media (prefers-reduced-motion:no-preference){
  .card,.step{transition:transform .2s ease, box-shadow .2s ease}
  .card:hover,.step:hover{transform:translateY(-2px); box-shadow:0 .5rem 1.5rem rgba(0,0,0,.08)!important}
}

html[data-bs-theme="dark"] .bg-light-subtle{background:#0e1113!important}
html[data-bs-theme="dark"] .text-secondary{color:#aab0b5!important}

#topbar a:hover{text-decoration: underline;}
.navbar .nav-link.active{font-weight:600; text-decoration:underline; text-underline-offset: .35rem}
.list-group-item.active{background:var(--accent);border-color:var(--accent)}

/* Index banner with parallax */
.banner-hero {
    background-image: url('../images/banniere.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 500px; /* laisse la valeur existante */
}

.banner-hero .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.35))}
html[data-bs-theme="dark"] .banner-hero .hero-overlay{background:linear-gradient(180deg, rgba(0,0,0,.6), rgba(0,0,0,.5))}

/* Phone pill CTA (visible in both themes) */
.phone-pill{
  display:inline-flex; align-items:center; gap:.55rem;
  background:#25a244; color:#fff; border:1px solid rgba(0,0,0,.1);
  padding:.45rem 1rem; border-radius:999px; font-weight:700; letter-spacing:.01em;
  box-shadow:0 .35rem 1rem rgba(0,0,0,.18);
}
.phone-pill .pill-dot{width:.55rem; height:.55rem; border-radius:50%; background:#c3f7d1; display:inline-block}
.phone-pill:hover{filter:brightness(1.06); text-decoration:none}
.phone-pill:focus{outline:3px solid rgba(37,162,68,.35); outline-offset:3px}
html[data-bs-theme="dark"] .phone-pill{ background:#2bb673; border-color:rgba(255,255,255,.18) }
html[data-bs-theme="dark"] .phone-pill .pill-dot{ background:#e2ffe8 }

/* Buttons contrast harmonized */
.btn-dark,.btn-primary{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}
.btn-dark:hover,.btn-primary:hover{background:var(--accent-600)!important;border-color:var(--accent-600)!important}
.btn-outline-dark{border-color:var(--accent)!important;color:var(--accent)!important}
.btn-outline-dark:hover{background:var(--accent)!important;color:#fff!important}
.btn-outline-light:hover{background:#fff!important;color:#111!important}


/* v8 — Homepage & references differentiation */
.kpi .display-6{letter-spacing:-.02em}
.process li{margin-bottom:.35rem}
.gallery .gallery-box{border:1px dashed rgba(0,0,0,.2); background:rgba(0,0,0,.02)}
html[data-bs-theme="dark"] .gallery .gallery-box{border-color:rgba(255,255,255,.2); background:rgba(255,255,255,.03)}


/* v9.3 — Light anti-copy protections */
[data-protect="on"] *:not(input):not(textarea):not(select){
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
img, svg{ -webkit-user-drag: none; }


/* v9.6 — allow selecting/copying mail/tel */
.copy-ok, .copy-ok * { -webkit-user-select: text !important; user-select: text !important; }
