.logo {
    display: block;
    max-width: 20%;
    height: auto;
}
.icone {
    display: block;
    max-width: 5%;
    height: auto; }


.blue_logo {
    color: #026b89;

}

.nav-masthead .active {
    color: #fff;
    border-bottom-color: #fff;
}

.form-control {
    max-width: 400px;
    width: 100%;
    padding: 14px;
    border-radius: 8px;
    background-color: #1f2328;
    color: #fff;
    border: 1px solid #3a3f45;
    margin: 0 auto;
}

.btn.btn-primary {
    background-color: #4aa6de;
    /* bleu logo */
    border-color: #4aa6de;
    font-weight: 500;
    padding: 8px 10px;
    border-radius: 8px;
}

.btn.btn-primary:hover {
    background-color: #0f1a24;
    border-color: #0f1a24;
}

.sci-card {
    border-radius: 22px;
    padding: 28px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(10px);
    min-height: 280px;
}

.sci-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.sci-kicker {
    font-size: 14px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    opacity: 0.75;
}

.sci-sub {
    font-size: 14px;
    opacity: 0.65;
    margin-top: 4px;
}

.sci-weather-icon {
    width: 56px;
    height: 56px;
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.35));
}

.sci-temp {
    font-size: 56px;
    font-weight: 800;
    line-height: 1;
    margin: 6px 0 8px;
}

.sci-feels {
    display: block;
    font-size: 14px;
    font-weight: 500;
    opacity: 0.7;
    margin-top: 10px;
}

.sci-desc {
    font-size: 18px;
    opacity: 0.9;
    margin-bottom: 18px;
}

.sci-meta {
    font-size: 14px;
    opacity: 0.75;
    display: flex;
    align-items: center;
    gap: 10px;
}

.sci-dot {
    opacity: 0.4;
}
.sci-card {
    height: 100%;
}

.badge {
    font-size: 14px;
    padding: 6px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.10);
}
/* base */
.sci-card {
    position: relative;
}

/* AQI color themes (subtle) */
.sci-card.aqi-1 {
    border-color: rgba(40, 180, 99, .45);
    box-shadow: 0 0 0 1px rgba(40, 180, 99, .25), 0 18px 40px rgba(0, 0, 0, .35);
}

.sci-card.aqi-2 {
    border-color: rgba(52, 152, 219, .45);
    box-shadow: 0 0 0 1px rgba(52, 152, 219, .25), 0 18px 40px rgba(0, 0, 0, .35);
}

.sci-card.aqi-3 {
    border-color: rgba(241, 196, 15, .45);
    box-shadow: 0 0 0 1px rgba(241, 196, 15, .22), 0 18px 40px rgba(0, 0, 0, .35);
}

.sci-card.aqi-4 {
    border-color: rgba(230, 126, 34, .45);
    box-shadow: 0 0 0 1px rgba(230, 126, 34, .22), 0 18px 40px rgba(0, 0, 0, .35);
}

.sci-card.aqi-5 {
    border-color: rgba(231, 76, 60, .50);
    box-shadow: 0 0 0 1px rgba(231, 76, 60, .25), 0 18px 40px rgba(0, 0, 0, .35);
}

/* AQI big block */
.sci-aqi-big {
    margin-top: 28px;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
}

.sci-aqi-big .aqi-num {
    font-size: 54px;
    font-weight: 800;
    line-height: 1;
}

.sci-aqi-big .aqi-label {
    font-size: 18px;
    opacity: .9;
}

/* texte gradient */
.aqi-num,
.aqi-label {
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

/* palettes (à tweak) */
.sci-card.aqi-1 .aqi-num,
.sci-card.aqi-1 .aqi-label {
    background-image: linear-gradient(90deg, #2ecc71, #a3ffcf);
}

.sci-card.aqi-2 .aqi-num,
.sci-card.aqi-2 .aqi-label {
    background-image: linear-gradient(90deg, #3498db, #8fd3ff);
}

.sci-card.aqi-3 .aqi-num,
.sci-card.aqi-3 .aqi-label {
    background-image: linear-gradient(90deg, #f1c40f, #ffe28a);
}

.sci-card.aqi-4 .aqi-num,
.sci-card.aqi-4 .aqi-label {
    background-image: linear-gradient(90deg, #e67e22, #ffd0a6);
}

.sci-card.aqi-5 .aqi-num,
.sci-card.aqi-5 .aqi-label {
    background-image: linear-gradient(90deg, #e74c3c, #ffb1a9);
}

.aqi-dot{
    width:10px; height:10px; border-radius:999px;
    display:inline-block; margin-right:8px;
    box-shadow: 0 0 12px rgba(255,255,255,.12);
  }
  .sci-card.aqi-1 .aqi-dot{ background:#2ecc71; }
  .sci-card.aqi-2 .aqi-dot{ background:#3498db; }
  .sci-card.aqi-3 .aqi-dot{ background:#f1c40f; }
  .sci-card.aqi-4 .aqi-dot{ background:#e67e22; }
  .sci-card.aqi-5 .aqi-dot{ background:#e74c3c; }
  

  /* TRAFFIC card layout */
  .sci-traffic-main {
      margin-top: 18px;
      text-align: center;
  }

  .sci-traffic-value {
      font-size: 64px;
      font-weight: 800;
      letter-spacing: -1px;
      line-height: 1;
  }

  .sci-traffic-label {
      margin-top: 10px;
      font-size: 22px;
      font-weight: 600;
      opacity: .95;
  }

  .sci-traffic-sub {
      margin-top: 12px;
      font-size: 14px;
      opacity: .7;
  }

  /* Small badge for reliability */
  .sci-badge {
      padding: 6px 10px;
      border-radius: 10px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: .04em;
      border: 1px solid rgba(255, 255, 255, .12);
      background: rgba(255, 255, 255, .06);
  }

  /* Traffic levels: glow/border */
  .sci-card.traffic-1 {
      box-shadow: 0 0 0 1px rgba(80, 220, 140, .22), 0 0 25px rgba(80, 220, 140, .12);
  }

  .sci-card.traffic-2 {
      box-shadow: 0 0 0 1px rgba(255, 205, 90, .22), 0 0 25px rgba(255, 205, 90, .10);
  }

  .sci-card.traffic-3 {
      box-shadow: 0 0 0 1px rgba(255, 150, 80, .22), 0 0 25px rgba(255, 150, 80, .10);
  }

  .sci-card.traffic-4 {
      box-shadow: 0 0 0 1px rgba(255, 90, 90, .22), 0 0 25px rgba(255, 90, 90, .10);
  }

  /* Reliability badge tint */
  .sci-badge.q-1 {
      border-color: rgba(255, 90, 90, .25);
  }

  .sci-badge.q-2 {
      border-color: rgba(255, 150, 80, .25);
  }

  .sci-badge.q-3 {
      border-color: rgba(255, 205, 90, .25);
  }

  .sci-badge.q-4 {
      border-color: rgba(80, 220, 140, .25);
  }

  .autocomplete {
      position: relative;
      width: 100%;
      max-width: 360px;
      /* adapte */
  }

  .suggestions {
      position: absolute;
      top: calc(100% + 8px);
      left: 0;
      right: 0;
      z-index: 50;

      margin: 0;
      padding: 6px;
      list-style: none;

      background: rgba(15, 15, 18, 0.95);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 12px;

      max-height: 220px;
      overflow-y: auto;

      display: none;
  }

  .suggestions.open {
      display: block;
  }

  .suggestion-item {
      display: flex;
      align-items: center;
      justify-content: space-between;

      padding: 10px 12px;
      border-radius: 10px;
      cursor: pointer;
  }

  .suggestion-item:hover {
      background: rgba(255, 255, 255, 0.08);
  }

  .city-name {
      font-weight: 600;
  }

  .city-iso {
      font-size: 12px;
      padding: 4px 8px;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.10);
      border: 1px solid rgba(255, 255, 255, 0.08);
  }


  .overall-score {
      position: relative;
      width: 180px;
      height: 180px;
      margin: 0 auto;
  }

  .gauge {
      width: 100%;
      height: 100%;
      transform: rotate(-90deg);
  }

  .gauge-progress {
      transition: stroke-dashoffset 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .overall-text {
      position: absolute;
      inset: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
  }

  .overall-text .score {
      font-size: 2.2rem;
      font-weight: 700;
  }

  .overall-text .sub {
      font-size: 0.9rem;
      opacity: 0.6;
      margin-top: -4px;
  }

  .overall-text .label {
      font-size: 0.85rem;
      margin-top: 6px;
      opacity: 0.7;
      text-transform: uppercase;
      letter-spacing: 0.08em;
  }

  .feature-icon {
    width: 2.2em;
    height: 2.2em;
    vertical-align: -2em;
    filter: invert(1);
      /* rend le SVG blanc si ton SVG est noir */
  }




  .contact-icon {
      width: 1.1em;
      height: 1.1em;
      opacity: .5;
      transition: opacity .2s ease, transform .2s ease;
    filter: invert(1);
  }

  .btn:hover .contact-icon {
      opacity: .85;
      transform: translateY(-1px);
  }

  .card-project {
      background: radial-gradient(circle at top, rgba(80, 160, 255, .10), transparent 55%), #1b1f24;
      border: 1px solid rgba(255, 255, 255, .08);
  }

  .card-project .btn {
      border-radius: 14px;
      padding: 12px 16px;
      font-weight: 600;
  }

  .card-project h3 {
      min-height: 96px;
      /* ajuste 80-110 selon ta typo */
  }

  .card-thumb {
      height: 220px;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      border-top-left-radius: 0.375rem;
      border-top-right-radius: 0.375rem;
    border-radius: 0.375rem 0.375rem 0 0;
  }

  .card-thumb::after {
      content: "";
      position: absolute;
      inset: 0;
      background: rgba(0, 0, 0, 0.15);
  }

  /* Language switch */
  .lang-switch {
      display: flex;
      align-items: center;
      gap: 6px;
      font-size: 0.85rem;
  }


  .lang-switch {
      transform: translateX(-24px);
      /* ajuste à l’œil : -16 / -20 / -24 */
  }

  @media (max-width: 768px) {
      .lang-switch {
          transform: none;
      }
  }

  @media (max-width: 576px) {
      .card-project h3 {
          font-size: 1.35rem;
      }

      .card-project p {
          font-size: 0.95rem;
          line-height: 1.55;
      }

      .card-project {
          padding: 1.25rem;
      }
  }
  .lang-switch .lang-link {
      opacity: .55;
      text-decoration: none;
  }

  .lang-switch .lang-link:hover {
      opacity: .85;
  }

  .lang-switch .lang-link.active {
      opacity: 1 !important;
      color: #fff !important;
      font-weight: 700;
  }


  /* Mobile menu hidden by default */
  .mobile-menu {
      display: none;
  }

  /* Button basic styling (match ton style dark) */
  .menu-toggle {
      border: 1px solid rgba(255, 255, 255, .25);
      background: rgba(255, 255, 255, .04);
      color: #fff;
      border-radius: 14px;
      width: 44px;
      height: 44px;
      line-height: 1;
  }

  /* Mobile layout */
  @media (max-width: 768px) {

      /* cache la nav desktop */
      .desktop-nav {
          display: none !important;
      }

      /* place le bouton à droite dans le header si besoin */
      .menu-toggle {
          display: inline-flex !important;
          align-items: center;
          justify-content: center;
      }

      /* le panel */
      .mobile-menu.is-open {
          display: flex;
          flex-direction: column;
          gap: 10px;

          position: absolute;
          top: 72px;
          /* ajuste selon ton header */
          right: 16px;
          width: min(240px, calc(100vw - 32px));

          padding: 14px;
          border-radius: 18px;

          background: rgba(20, 24, 28, .92);
          border: 1px solid rgba(255, 255, 255, .12);
          box-shadow: 0 10px 30px rgba(0, 0, 0, .45);
          backdrop-filter: blur(10px);
          z-index: 9999;
      }

      /* liens */
      .mobile-menu a {
          text-decoration: none !important;
          color: rgba(255, 255, 255, .9);
          padding: 10px 12px;
          border-radius: 12px;
          background: rgba(255, 255, 255, .04);
      }

      .mobile-menu a:hover,
      .mobile-menu a:focus {
          background: rgba(255, 255, 255, .08);
      }
  }

  header {
      position: relative;
  }

  /* ====== Defaults (desktop) ====== */
  .menu-toggle {
      display: none;
      /* caché en desktop */
  }

  .desktop-nav {
      display: flex;
      /* visible en desktop */
  }

  /* ====== Mobile ====== */
  @media (max-width: 768px) {
      .menu-toggle {
          display: inline-flex;
          /* visible en mobile */
          align-items: center;
          justify-content: center;
      }

      .desktop-nav {
          display: none !important;
          /* caché en mobile */
      }
  }

  .icone {
      display: block;
      max-width: 10%;
      height: auto;
  }

  .contact-icon {
      width: 1.1em;
      height: 1.1em;
      opacity: .9;
      transition: opacity .2s ease, transform .2s ease;
      filter: invert(1);
  }

  .btn:hover .contact-icon {
      opacity: .85;
      transform: translateY(-1px);
  }

  .about-hero-img {
      display: block;
      width: 100%;
      max-width: 700px;
      height: auto;
      margin: 0 auto;
  }

  .demo-note {
      font-size: 0.85rem;
      font-style: italic;
      opacity: 0.6;
      margin-bottom: 0;
  }