:root{
  --bs-primary:#1bb1dc;
  --blx-shadow:0 8px 24px rgba(27,177,220,.12);
  --blx-shadow-strong:0 12px 32px rgba(27,177,220,.18);
  --blx-radius:.75rem;
}

body{ font-family:'Inter','Segoe UI',Roboto,Arial,sans-serif; }

a{ text-decoration:none; transition:color .2s, text-decoration .2s; }
a:hover, a:focus{ text-decoration:underline; }

.link-inherit{ color:inherit; }
.link-inherit:hover{ color:inherit; }

.hero{
  padding:7rem 0 4rem;
  background:
    radial-gradient(1200px 600px at 10% 0%, rgba(27,177,220,.08), transparent),
    radial-gradient(1200px 600px at 90% 0%, rgba(27,177,220,.08), transparent);
}

.shadow-soft{ box-shadow:0 .5rem 1rem rgba(0,0,0,.08); }

.badge-price{
  background:rgba(27,177,220,.12);
  color:#0b5564;
  border:1px solid rgba(27,177,220,.3);
}

.badge-price a{ color:inherit; border-bottom:0; }
.badge-price a:hover{ opacity:.85; }

.badge-price a:hover{
  text-decoration:underline;
}

footer a{ color:inherit; }

.btn-primary{ border-color:var(--bs-primary); }
.btn-primary:hover{ filter:brightness(.95); box-shadow:var(--blx-shadow); }
.btn-outline-secondary:hover{ background:#f8fbfc; border-color:#cfeef7; color:#0b5564; }
.btn-outline-primary:hover{ background:#e7f7fb; border-color:var(--bs-primary); color:#0b5564; }

.card-pro{
  border:0;
  border-radius:var(--blx-radius);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.card-pro:hover{ transform:translateY(-6px); box-shadow:var(--blx-shadow); border:1px solid rgba(27,177,220,.18); }

.benefit-card{
  background:#fff; border-radius:var(--blx-radius);
  transition:all .3s ease; box-shadow:0 0 0 rgba(0,0,0,0); border:0;
}
.benefit-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--blx-shadow-strong);
  border:1px solid rgba(27,177,220,.25);
}
.benefit-card .text-primary{ color:#1bb1dc !important; }

#features .row-equal{ align-items:stretch; }
#features .col-equal{ display:flex; }
#features .preview-wrap{ margin:auto; width:100%; }
@media(min-width:992px){
  #features .preview-wrap{ max-width:620px; }
}

.back-to-top {
  width: 2.75rem;
  height: 2.75rem;
  right: 1rem;
  bottom: 1rem;
  z-index: 1050;
  font-size: 1.25rem;
  line-height: 1;
  color: #0b5564; 
  background-color: rgba(27, 177, 220, 0.08); 
  border: 1px solid rgba(27, 177, 220, 0.15);
  border-radius: 50%;
  box-shadow: none;
  transition: all 0.25s ease;
  backdrop-filter: blur(6px); 
}

.back-to-top:hover {
  background-color: rgba(27, 177, 220, 0.15);
  transform: translateY(-2px);
  border-color: rgba(27, 177, 220, 0.25);
}

.back-to-top:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(27, 177, 220, 0.25);
}

@media (min-width: 992px) {
  .back-to-top {
    right: 1.25rem;
    bottom: 1.25rem;
  }
}

#featTabs .nav-link{
  white-space: nowrap;
}

@media (max-width: 575.98px) {
  #featTabs .nav-link {
    padding-left: .75rem;
    padding-right: .75rem;
    font-size: .9rem;
  }
}

/* =========================================================
   Accessibilité / contraste
   ========================================================= */

/* Texte secondaire : gris plus foncé pour un meilleur contraste
   sur fond blanc et sur .bg-light */
.text-secondary {
  color: #495057 !important;
}

/* (facultatif mais propre) classe pour la marque si tu veux
   remplacer les style="color:#ff7900" inline plus tard */
.brand-text {
  color: #ff7900;
  font-weight: 700;
}

.navbar-logo {
  display: block;
  height: 40px;
  width: auto;
}

@media (min-width: 992px) {
  .navbar-logo {
    height: 48px;  /* un peu plus grand sur desktop */
  }
}


/* Actions dans le burger (mobile) */
.navbar-actions .btn-group .btn {
  /* pour que les boutons FR/EN se collent bien */
  font-size: 0.85rem;
}

@media (max-width: 991.98px) {
  .navbar-nav .nav-link {
    padding-left: 0;
  }

  .navbar-actions {
    align-items: stretch;
  }

  .navbar-actions .btn {
    width: 100%;
  }

  .navbar-brand {
    padding-top: .25rem;
    padding-bottom: .25rem;
  }
}

.footer-logo {
  display: block;
  height: 24px;
  width: auto;
}


@media (max-width: 991.98px) {
  /* Un peu d'air dans le menu déroulé */
  .navbar-collapse {
    padding-top: .75rem;
    padding-bottom: .75rem;
  }

  /* Bloc actions : en colonne, bien aligné, espacé */
  .navbar-actions {
    flex-direction: column;
    align-items: stretch;
    gap: .5rem;
    margin-top: .75rem;
  }

  .navbar-actions .btn-group {
    width: 100%;
  }

  .navbar-actions .btn-group .btn {
    flex: 1 1 50%;
  }
}

/* Actions dans le burger (mobile) */
.navbar-actions-mobile .btn {
  font-size: 0.9rem;
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
}

.navbar-actions-mobile .btn-primary {
  font-weight: 600;
}

.navbar-actions-mobile .btn-outline-primary {
  font-weight: 500;
}


/* =========================================================
   Hero mini (bandeau des pages légales / contact)
   ========================================================= */

.hero-mini {
  padding: 2.5rem 0;
  background: linear-gradient(135deg, #e8f6fb 0%, #ffffff 100%);
  border-bottom: 1px solid #dbe6ec;
}

/* Badge RGPD */
.badge-rgpd {
  background: rgba(27, 177, 220, 0.12);
  color: #0b5564;
  border: 1px solid rgba(27, 177, 220, 0.4);
  font-weight: 500;
}

/* Le lien à l'intérieur garde la couleur du badge */
.badge-rgpd a {
  color: inherit;
  text-decoration: none;
}

.badge-rgpd a:hover,
.badge-rgpd a:focus {
  text-decoration: underline;
}

/* Styles harmonisés pour le fil d’Ariane */
.breadcrumb {
  /* même gris que .text-secondary pour une cohérence globale */
  color: #495057;
}

/* Texte et lien du breadcrumb : même couleur */
.breadcrumb-item,
.breadcrumb-item a {
  color: #495057;
}

/* Active item : même gris (on écrase la valeur Bootstrap plus claire) */
.breadcrumb-item.active {
  color: #495057;
}

/* Effet discret au survol : même gris, juste souligné */
.breadcrumb-item a:hover {
  color: #495057;
  text-decoration: underline;
}
