:root {
--cassiopeia-color-primary: #112855;
  --cassiopeia-color-brand: #ff3281;
  }


.jaune {color: #ffff44}
.bleu {color: #21a8da}


.btn-success {
    --btn-color: #fff;
    --btn-bg: #2E7D32;
    --btn-border-color: #2E7D32;
    --btn-hover-color: #fff;
    --btn-hover-bg: #6cb910;
    --btn-hover-border-color: #6cb910;
    --btn-focus-shadow-rgb: 96,150,96;
    --btn-active-color: #fff;
    --btn-active-bg: #6cb910;
    --btn-active-border-color: #6cb910;
    --btn-active-shadow: inset 0 3px 5px #00000020;
    --btn-disabled-color: #fff;
    --btn-disabled-bg: #2E7D32;
    --btn-disabled-border-color: #2E7D32
} 



/* GOOGLE MAPS */
#plan-ville .pac-container, #plan-agence .pac-container{z-index:5000!important;}

#plan-ville .map-section, #plan-agence .map-section {width: 100%;margin: 0 auto;float: none}
#plan-ville #my-map, #plan-agence #my-map {float: none}
#plan-ville .map-section ul, #plan-agence .map-section ul {padding-left: 1em;width: auto;list-style: none;float:none;}
#plan-ville .map-section li, #plan-agence .map-section li {margin-bottom: .6em;padding-left: 3.5em;background-size: 45px 49px;background-repeat: no-repeat}

@media (min-width: 576px) {
#plan-ville .map-section, #plan-agence .map-section { max-width: 1010px}
}

/* ===================== TOKENS ===================== */
:root{
  --lu-navy-900:#0B1E33;
  --lu-navy-800:#10243f;
  --lu-navy-700:#132b4a;
  --lu-ink:#0B1E33;
  --lu-ink-2:#3B5069;
  --lu-text:#EAF3FF;
  --lu-muted:#A7B6CC;
/*  --lu-lime:#6cb910; */
/*  --lu-lime-600:#a5f22f; */
  --lu-lime:#ffc107;
  --lu-lime-600:#ffb300;
  --lu-body:#F6F9FF;
  --lu-gradient: linear-gradient(120deg,#0B1E33 0%,#10243f 55%,#0f1c2c 100%);
  --lu-shadow-sm:0 6px 16px rgba(11,30,51,.06);
  --lu-shadow-md:0 12px 28px rgba(11,30,51,.12);
  --lu-shadow-lg:0 24px 60px rgba(0,0,0,.35);
  --lu-r-lg:1rem; --lu-r-xl:1.25rem; --lu-r-2xl:1.75rem;
  --lu-font:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Noto Sans",sans-serif;
}
html,body{background:var(--lu-gradient);color:var(--lu-text);font-family:var(--lu-font);}
.section{padding-block:clamp(2rem,5vw,5rem)}
.section-medium{padding-block:clamp(1.5rem,3vw,3rem)}
.section-small{padding-block:clamp(1rem,1vw,2rem)}
.container-narrow{max-width:1100px}

nav a.navbar-brand span {/*margin-top: -15px;*/ color:var(--cassiopeia-color-brand)!important;}

.grid-child.container-nav {max-height:80px;}

.navbar-nav li.nav-item.active a.nav-link {
    color: var(--navbar-active-color);
}

input#moteur-location::placeholder {
    color: var(--lu-muted);
}

/* ===================== UTILITIES (REUSABLE) ===================== */
/* Backgrounds */
.bg-lu-gradient{background:var(--lu-gradient)!important}
.bg-lu-navy-900{background:var(--lu-navy-900)!important}
.bg-lu-navy-800{background:var(--lu-navy-800)!important}
.bg-lu-navy-700{background:var(--lu-navy-700)!important}
.bg-lu-body{background:var(--lu-body)!important}
.bg-lu-white{background:#fff!important}

/* Text colors */
.text-lu{color:var(--lu-text)!important}
.text-lu-muted{color:var(--lu-muted)!important}
.text-lu-ink{color:var(--lu-ink)!important}
.text-lu-ink-2{color:var(--lu-ink-2)!important}

/* Borders / radius / shadows */
.border-lu-light{border:1px solid rgba(11,30,51,.08)!important}
.border-lu-dark{border:1px solid rgba(255,255,255,.12)!important}
.rounded-lu{border-radius:var(--lu-r-lg)!important}
.rounded-lu-xl{border-radius:var(--lu-r-xl)!important}
.rounded-lu-2xl{border-radius:var(--lu-r-2xl)!important}
.shadow-lu-sm{box-shadow:var(--lu-shadow-sm)!important}
.shadow-lu-md{box-shadow:var(--lu-shadow-md)!important}
.shadow-lu-lg{box-shadow:var(--lu-shadow-lg)!important}

/* Layout helpers */
.lu-stack-xs > * + *{margin-top:.5rem}
.lu-stack-sm > * + *{margin-top:.75rem}
.lu-stack-md > * + *{margin-top:1rem}
.lu-stack-lg > * + *{margin-top:1.5rem}
.lu-stack-xl > * + *{margin-top:2rem}

.lu-flex-center{display:flex;align-items:center;justify-content:center}
.lu-grid-2{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:768px){.lu-grid-2{grid-template-columns:1fr 1fr}}
.lu-grid-3{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:992px){.lu-grid-3{grid-template-columns:repeat(3,1fr)}}

.vh-90 {height: 90vh !important;}
.vh-85 {height: 85vh !important;}
.vh-80 {height: 80vh !important;}
.vh-75 {height: 75vh !important;}
.vh-50 {height: 50vh !important;}
.vh-25 {height: 25vh !important;}
.vh-20 {height: 20vh !important;}
.vh-15 {height: 15vh !important;}
.vh-10 {height: 10vh !important;}
.vh-5 {height: 5vh !important;}


/* Buttons */
.btn-lu-lime{
  --btn-bg: var(--lu-lime);
  --bs-btn-color: var(--lu-ink);
  --btn-border-color: var(--lu-lime);
  --btn-hover-bg: var(--lu-lime-600);
  --bs-btn-hover-border-color: var(--lu-lime-600);
  font-weight: 700;
  border-radius: 999px;
  box-shadow: 0 12px 28px rgba(255,193,7,.25);
}
.btn-lu-outline{--btn-color:#fff;--btn-border-color:rgba(255,255,255,.5);border-radius:999px}

/* Surfaces */
.lu-island{background:#fff;color:var(--lu-ink);border:1px solid rgba(11,30,51,.08);box-shadow:var(--lu-shadow-sm);border-radius:var(--lu-r-xl)}
.lu-card-dark{background:var(--lu-navy-700);color:var(--lu-text);border:1px solid rgba(255,255,255,.06);border-radius:var(--lu-r-xl)}

/* Glass */
.lu-glass{background:rgba(15,39,69,.65);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:var(--lu-r-xl);box-shadow:var(--lu-shadow-lg)}
.lu-glass .form-control,.lu-glass .form-select{background:var(--lu-body);border:1px solid rgba(255,255,255,.15);color:var(--lu-ink)}
.lu-glass .form-control::placeholder{color:rgba(234,243,255,.65)}
.lu-label{color:var(--lu-muted);font-weight:600}

/* Reusable patterns */
.lu-offer-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between}
.lu-offer-row + .lu-offer-row{border-top:1px solid rgba(11,30,51,.1);margin-top:1rem;padding-top:1rem}
.lu-chip{background:#fff;border:1px solid rgba(11,30,51,.1);border-radius:999px;padding:.5rem 1rem;color:var(--lu-ink-2);display:inline-flex;gap:.4rem}

/* Hero split (mobile-first) */
.lu-hero{background:var(--lu-gradient)}
@media (min-width:768px){.lu-hero-split{display:flex;align-items:center;gap:2rem}}
.lu-hero-left{flex:1}
.lu-hero-right{flex:1}

/* Optional: subtle section separators */
.hr-lu-light{border-color:rgba(255,255,255,.08)}
.hr-lu-dark{border-color:rgba(11,30,51,.08)}

.text-warning, .text-ocre {--bs-text-opacity: 1;color: #ffc107 !important;}

svg.bi {display: inline-block;vertical-align: -.125em;fill: currentcolor;width: 1em;height: 1em;margin-right: 0.2em;}

/* static content */
#lu-contenu-intro a {color: RGBA(var(--light-rgb), var(--link-opacity, 1)) !important;text-decoration-color: RGBA(var(--light-rgb), var(--link-underline-opacity, 1)) !important;}
#lu-contenu-intro .btn-outline-light:hover {
    color: black !important;
}

#lu-contenu-main p a {
    color: RGBA(var(--emphasis-color-rgb), var(--link-opacity, 1)) !important;
    text-decoration-color: RGBA(var(--emphasis-color-rgb), var(--link-underline-opacity, 1)) !important;
}
#lu-contenu-main p a:hover, #lu-contenu-main p a:focus {
    color: RGBA(var(--emphasis-color-rgb), var(--link-opacity, .75)) !important;
    text-decoration-color: RGBA(var(--emphasis-color-rgb), var(--link-underline-opacity, .75)) !important;
}

.pointer {cursor: pointer;}

footer {padding-bottom: 80px!important;}
#moteur-afficher {max-width: 50%;margin: 0 auto;bottom: 20px;position: fixed;left: 25%;z-index: 1000;}


.typewriter {
  overflow: hidden;
  white-space: nowrap;
  width: 0;
  animation: typing 3s steps(20, end) forwards,
             blink-caret 0.75s step-end infinite;
}

@keyframes typing {
  from { width: 0; }
  to { width: 100%; }
}

@keyframes blink-caret {
  from, to { border-color: transparent; }
  50% { border-color: black; }
}yping 3s steps(20, end) forwards,
             blink-caret 0.75s step-end infinite;
}

@keyframes typing {
  from { width: 0; }
  to { width: 100%; }
}

@keyframes blink-caret {
  from, to { border-color: transparent; }
  50% { border-color: black; }
}