:root{--ap-red:#c82a2a;--ap-dark:#0b0b0d;--ap-muted:#6b7280;}
.ap-navbar{background:rgba(11,11,13,.78);backdrop-filter:saturate(180%) blur(10px);}
.ap-navbar .navbar-brand img{height:42px;width:auto;}
.ap-navbar .nav-link{color:#fff!important;font-weight:600;opacity:.9;}
.ap-navbar .nav-link:hover{opacity:1;}
.ap-btn{background:var(--ap-red);border:1px solid var(--ap-red);color:#fff!important;border-radius:999px;padding:.65rem 1rem;font-weight:700;}
.ap-btn:hover{filter:brightness(.95);}
.ap-hero{min-height:78vh;display:flex;align-items:center;color:#fff;position:relative;overflow:hidden;}
.ap-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,13,.88),rgba(11,11,13,.55));z-index:1;}
.ap-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(110%);transform:scale(1.02);}
.ap-hero .container{position:relative;z-index:2;}
.ap-kicker{letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.78);font-size:.82rem;}
.ap-h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;font-weight:900;margin:.5rem 0 1rem;}
.ap-lead{font-size:1.1rem;color:rgba(255,255,255,.85);max-width:52ch;}
.ap-card{border-radius:18px;box-shadow:0 12px 30px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.06);}
.ap-badge{display:inline-block;padding:.25rem .6rem;border-radius:999px;background:rgba(200,42,42,.12);color:var(--ap-red);font-weight:800;font-size:.82rem;}
.ap-section{padding:70px 0;}
.ap-section h2{font-weight:900;}
.ap-muted{color:var(--ap-muted);}
.ap-footer{background:var(--ap-dark);color:rgba(255,255,255,.82);padding:40px 0;}
.ap-footer a{color:rgba(255,255,255,.85);text-decoration:none;}
.ap-footer a:hover{text-decoration:underline;}
/* HERO: placer le bloc texte en bas et centré */
.ap-hero {
  position: relative;
  overflow: hidden;
}

.ap-hero .container {
  position: relative;
  z-index: 2; /* au-dessus de l'image de fond */
}

/* On force une hauteur et on pousse le contenu vers le bas */
.ap-hero .row {
  min-height: 70vh;
  align-items: flex-end;
}

/* Le bloc texte devient centré */
.ap-hero .col-lg-7 {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  max-width: 900px;
  padding-bottom: 30px;
}

.ap-hero .col-lg-7 p,
.ap-hero .col-lg-7 h6 {
  text-align: center;
}

/* HERO : centrage des CTA et des villes */
.ap-hero .btn-group,
.ap-hero .hero-buttons,
.ap-hero .hero-locations {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.ap-hero {
  text-align: center;
}
.ap-hero .city,
.ap-hero .badge,
.ap-hero .hero-locations span {
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.4);
  background: rgba(0,0,0,0.25);
}

