/* styles.css — FULL DARK
   Fond principal : #16195b
   Surfaces : #0f1242 / #0c0e35
   Texte : #ffffff / rgba(255,255,255,.75)
   Accent : #0074bd
   Bleu Java : #5382a1
*/

html { scroll-behavior: smooth; }

body{
  background: #16195b;
  color: #ffffff;
}

a{ color: #5382a1; }
a:hover{ color: #0074bd; }

.navbar{
  background: rgba(12,14,53,.85) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  backdrop-filter: blur(8px);
}

.navbar-brand,
.navbar .nav-link{
  color: #ffffff !important;
}

.navbar .nav-link:hover,
.navbar .nav-link.active{
  color: #0074bd !important;
}

.navbar-toggler{
  border-color: rgba(255,255,255,.25);
}

.navbar-toggler-icon{
  filter: invert(1) grayscale(1) brightness(2);
}

.brand-mark{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #0074bd;
  display: inline-block;
}

section{
  background: transparent !important;
  color: #ffffff;
}

.bg-light{
  background: transparent !important;
}

h1,h2,h3,h4,h5,h6{ color: #ffffff; }

.text-muted{
  color: rgba(255,255,255,.70) !important;
}

.border,
.border-top,
.border-bottom{
  border-color: rgba(255,255,255,.10) !important;
}

.hero{
  background:
    radial-gradient(1200px 600px at 10% 10%, rgba(83,130,161,.22), transparent 60%),
    radial-gradient(900px 500px at 90% 30%, rgba(0,116,189,.18), transparent 55%),
    linear-gradient(180deg, rgba(12,14,53,0), rgba(12,14,53,.35));
}

.card{
  border-radius: 1.25rem;
  background: rgba(15,18,66,.85);
  border: 1px solid rgba(255,255,255,.10);
  color: #ffffff;
}

.card-footer{
  background: rgba(12,14,53,.65) !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
}

.card-hover{
  transition: transform .15s ease, box-shadow .15s ease;
}

.card-hover:hover{
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}

.glass-card{
  border-radius: 1.25rem;
  background: rgba(15,18,66,.72);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 14px 40px rgba(0,0,0,.30);
  backdrop-filter: blur(10px);
}

.mini-card{
  border-radius: 1.25rem;
  background: rgba(12,14,53,.55);
  border: 1px solid rgba(255,255,255,.10);
}

.icon-bubble{
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;

  background: rgba(83,130,161,.20);
  border: 1px solid rgba(83,130,161,.40);
  color: #5382a1;
}

.icon-bubble-sm{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  display: grid;
  place-items: center;

  background: rgba(0,116,189,.22);
  border: 1px solid rgba(0,116,189,.45);
  color: #0074bd;
}

.badge.text-bg-light{
  background: rgba(255,255,255,.08) !important;
  color: rgba(255,255,255,.85) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
}

.badge.text-bg-primary{
  background: #0074bd !important;
  color: #ffffff !important;
}

ul, ol{ color: rgba(255,255,255,.90); }
ul.text-muted, ol.text-muted{ color: rgba(255,255,255,.75) !important; }

.btn-primary{
  --bs-btn-bg: #0074bd;
  --bs-btn-border-color: #0074bd;
  --bs-btn-color: #ffffff;
  --bs-btn-hover-bg: #0062a1;
  --bs-btn-hover-border-color: #0062a1;
  --bs-btn-active-bg: #00548a;
  --bs-btn-active-border-color: #00548a;
  --bs-btn-focus-shadow-rgb: 0,116,189;
}

.btn-outline-primary{
  --bs-btn-color: #0074bd;
  --bs-btn-border-color: #0074bd;
  --bs-btn-hover-bg: #0074bd;
  --bs-btn-hover-border-color: #0074bd;
  --bs-btn-hover-color: #ffffff;
  --bs-btn-active-bg: #00548a;
  --bs-btn-active-border-color: #00548a;
  --bs-btn-focus-shadow-rgb: 0,116,189;
}

/* Bouton secondaire (bleu Java) */
.btn-outline-secondary{
  --bs-btn-color: #5382a1;
  --bs-btn-border-color: #5382a1;
  --bs-btn-hover-bg: #5382a1;
  --bs-btn-hover-border-color: #5382a1;
  --bs-btn-hover-color: #ffffff;
  --bs-btn-focus-shadow-rgb: 83,130,161;
}

.form-label{ color: rgba(255,255,255,.85); }

.form-control,
.form-select,
textarea{
  background: rgba(12,14,53,.60) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.14) !important;
}

.form-control::placeholder,
textarea::placeholder{
  color: rgba(255,255,255,.55);
}

.form-control:focus,
.form-select:focus{
  border-color: rgba(0,116,189,.55) !important;
  box-shadow: 0 0 0 .25rem rgba(0,116,189,.18) !important;
}

footer{
  background: rgba(12,14,53,.85) !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  color: rgba(255,255,255,.85);
}

footer a{ color: #5382a1; }
footer a:hover{ color: #0074bd; }

.carousel{
  position: relative;
}

.carousel-control-prev,
.carousel-control-next{
  width: 12%;
  opacity: 1;
}

.carousel-control-prev-icon,
.carousel-control-next-icon{
  filter: invert(1) grayscale(1) brightness(2);
}

.carousel-control-prev-icon,
.carousel-control-next-icon{
  background-color: rgba(0,0,0,.35);
  border-radius: 999px;
  background-size: 60% 60%;
  padding: 1.2rem;
}

.carousel-indicators [data-bs-target]{
  background-color: rgba(255,255,255,.55);
  opacity: 1;
}

.carousel-indicators .active{
  background-color: #0074bd;
}

.carousel-caption{
  text-shadow: 0 2px 10px rgba(0,0,0,.6);
}

body.theme-light{ background:#ffffff !important; color:#16195b !important; }
  body.theme-light .hero,
  body.theme-light section,
  body.theme-light footer{ background:#ffffff !important; }
  body.theme-light h1, body.theme-light h2, body.theme-light h3, body.theme-light h4, body.theme-light h5, body.theme-light h6{
    color:#16195b !important;
  }
  body.theme-light .text-muted{ color: rgba(22,25,91,.70) !important; }
  body.theme-light .navbar{ background:#ffffff !important; border-bottom:1px solid rgba(0,0,0,.08) !important; }
  body.theme-light .navbar-brand, body.theme-light .navbar .nav-link{ color:#16195b !important; }
  body.theme-light .card{
    background:#ffffff !important;
    color:#16195b !important;
    border:1px solid rgba(0,0,0,.10) !important;
  }
  body.theme-light .card-footer{
    background:#ffffff !important;
    border-top:1px solid rgba(0,0,0,.08) !important;
  }
  body.theme-light .glass-card, body.theme-light .mini-card{
    background:#ffffff !important;
    border:1px solid rgba(0,0,0,.10) !important;
  }

body.theme-light .navbar-toggler{
  border-color: rgba(22,25,91,.35) !important;
}
