/* 
Made with love by SiteSimple (http://www.sitesimple.net)
*/
/* ============ Couleurs placeholders =========== */
.form-control::-webkit-input-placeholder { color: #DDDDDD; opacity: 1; } 
.form-control::-moz-placeholder { color: #DDDDDD; opacity: 1; }
.form-control:-ms-input-placeholder { color: #DDDDDD; opacity: 1; }
.form-control::placeholder { color: #DDDDDD; opacity: 1; }

/* ============ Réglages généraux =========== */
body {
  font-family: 'Archivo', sans-serif;
}
a { color: #2C93FF; transition: color .3s; }
a:hover, a:focus { color: #1084FF; text-decoration: underline; }
a:active, a:focus { outline: none; }
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, .navbar, .brand, .btn-simple {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4 { font-weight: 400; margin: 30px 0 15px; }
h1, .h1 { font-size: 52px; }
h2, .h2 { font-size: 36px; }
h3, .h3 { font-size: 28px; margin: 20px 0 10px; }
h4, .h4 { font-size: 22px; }
h5, .h5 { font-size: 16px; }
h6, .h6 { font-size: 14px; font-weight: bold; text-transform: uppercase; }
p { font-size: 16px; line-height: 1.618em; }
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small, 
.h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small,
h1 .small, h2 .small, h3 .small, h4 .small, h5 .small, h6 .small, 
.h1 .small, .h2 .small, .h3 .small, .h4 .small, .h5 .small, .h6 .small {
  color: #999;
  font-weight: 300;
  line-height: 1;
}
h1 small, h2 small, h3 small, h1 .small, h2 .small, h3 .small {
  font-size: 60%;
}

/* ============ Overlay & Layout principale =========== */
.main {
  position: relative;
  min-height: 100vh;
  background-image: url('../images/ASTDON-evenement-sportif.jpg');
  background-position: center;
  background-size: cover;
}
.cover {
  position: fixed;
  opacity: 1;
  background-color: rgba(0,0,0,0.6);
  left: 0; top: 0; width: 100%; height: 100%;
  z-index: 1;
}
.cover.black  { background-color: rgba(0,0,0,0.6); }
.cover.blue   { background-color: rgba(5, 31, 60, 0.6);}
.cover.green  { background-color: rgba(3, 28, 7, 0.6);}
.cover.orange { background-color: rgba(37, 28, 5, 0.6);}
.cover.red    { background-color: rgba(35, 3, 2, 0.66); }

/* ============ Logo, titre, content =========== */
.main .logo { color: #fff; font-size: 56px; font-weight: 300; text-align: center; text-shadow: 0 0 10px rgba(0,0,0,0.33); margin-top: 50px; z-index: 3;}
.main .logo.cursive { font-family: 'Grand Hotel', cursive; font-size: 82px;}
.main .content { position: relative; z-index: 4;}
.main .motto, .main .subscribe .info-text {
  font-size: 28px; color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,0.33); text-align: center; margin-top: 50px; margin: 5px;
}
.main .subscribe .info-text { font-size: 18px; margin-bottom: 30px;}

/* ============ Input et Form =========== */
.form-control, .input-group-addon {
  transition: all 300ms linear;
}
.form-control {
  background-color: #FFF;
  border: 1px solid #E3E3E3;
  border-radius: 4px;
  box-shadow: none;
  color: #444;
  min-height: 38px;
  padding: 6px 16px;
}
.form-control:focus {
  background-color: #FFF;
  border: 1px solid #9A9A9A;
  box-shadow: none;
  outline: 0 none;
}
.form-control.transparent {
  background-color: rgba(255,255,255,0.07);
  border: 1px solid rgba(238,238,238,0.27);
  color: #fff;
}
.form-control.transparent:focus{ border-color: #fff; }
.input-lg { height: 56px; padding: 10px 16px;}

/* ============ Boutons =========== */
.btn {
  border-width: 2px;
  background-color: rgba(0,0,0,0);
  font-weight: 400;
  opacity: 0.8;
  padding: 8px 16px;
  transition: opacity .2s, background-color .2s;
}
.btn-header {
  margin: 0 5px;
  padding: 6px 15px;
  font-weight: bold;
  border-radius: 20px;
  font-size: 1em;
}
.btn-round{ border-radius: 30px!important; border-width: 1px; opacity:.79; padding:9px 18px;}
.btn-sm, .btn-xs { border-radius: 3px; font-size: 12px; line-height:1.5; padding:5px 10px;}
.btn-xs { padding: 1px 5px; }
.btn-lg { border-radius: 6px; font-size: 18px; font-weight: 400; padding: 14px 60px; }
.btn-wd { min-width: 140px; }
.btn:active, .btn.active { box-shadow: none;}
.btn.disabled, .btn[disabled], fieldset[disabled] .btn { opacity: 0.45;}
.btn-default { color: #777; border-color: #999; }
.btn-default:hover, .btn-default:focus {
  color: #666; border-color: #888; background: none; opacity: 1;
}
.btn-primary { color: #3472F7; border-color: #3472F7; }
.btn-primary:hover, .btn-primary:focus {
  color: #1D62F0; border-color: #1D62F0; background: none; opacity: 1;
}
.btn-info    { color: #2C93FF; border-color: #2C93FF;}
.btn-info:hover, .btn-info:focus {
  color: #1084FF; border-color: #1084FF; background: none; opacity:1;
}
.btn-success { color: #05AE0E; border-color: #05AE0E;}
.btn-success:hover, .btn-success:focus {
  color: #049F0C; border-color: #049F0C; background: none; opacity:1;
}
.btn-warning { color: #FF9500; border-color: #FF9500;}
.btn-warning:hover, .btn-warning:focus {
  color: #ED8D00; border-color: #ED8D00; background: none; opacity:1;
}
.btn-danger  { color: #FF3B30; border-color: #FF3B30;}
.btn-danger:hover, .btn-danger:focus {
  color: #EE2D20; border-color: #EE2D20; background: none; opacity:1;
}
.btn-fill { color:#fff; opacity: 1; }
.btn-fill:hover, .btn-fill:active, .btn-fill:focus { color:#FFF; }
.btn-default.btn-fill      { background: #999; border-color: #999; }
.btn-default.btn-fill:hover{ background: #888; border-color: #888; }
.btn-primary.btn-fill      { background: #3472F7; border-color: #3472F7; }
.btn-primary.btn-fill:hover{ background: #1D62F0; border-color: #1D62F0;}
.btn-info.btn-fill         { background: #2C93FF; border-color: #2C93FF;}
.btn-info.btn-fill:hover   { background: #1084FF; border-color: #1084FF;}
.btn-success.btn-fill      { background: #05AE0E; border-color: #05AE0E;}
.btn-success.btn-fill:hover{ background: #049F0C; border-color: #049F0C;}
.btn-warning.btn-fill      { background: #FF9500; border-color: #FF9500;}
.btn-warning.btn-fill:hover{ background: #ED8D00; border-color: #ED8D00;}
.btn-danger.btn-fill       { background: #FF3B30; border-color: #FF3B30;}
.btn-danger.btn-fill:hover { background: #EE2D20; border-color: #EE2D20;}
.btn-simple  { font-weight: 600; border: 0; padding: 10px 18px; background: none; }
.btn-simple.btn-xs{ padding: 3px 5px; }
.btn-simple.btn-sm{ padding: 7px 10px;}
.btn-simple.btn-lg{ padding: 16px 60px;}


/* ============ Navbar et menu =========== */
.navbar {
  border: none;
  font-size: 16px;
  transition: all 0.4s;
}
.navbar-brand img { height: 40px; }
.navbar .navbar-brand { font-weight: 600; font-size: 20px; }
.navbar-nav > li > a { font-size: 16px; padding-top: 12px; padding-bottom: 12px;}
.navbar-nav > li > a [class^="fa"]{ font-size: 22px;}
.navbar .btn { font-size: 16px; margin-top: 8px; margin-bottom: 8px;}
.navbar-default { background: #D9D9D9; }
.navbar-transparent { background: rgba(0,0,0,0); padding-top: 15px; }
.navbar-transparent .navbar-brand, .navbar-transparent .navbar-nav > li > a {
  color: #fff; opacity:0.95;
}
.navbar-transparent .navbar-nav > li > a {
  border-color: #fff; opacity:0.7;
}
.navbar-transparent .navbar-brand:hover, .navbar-transparent .navbar-brand:focus{
  color: #5E5E5E;
  background: none;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #2C93FF; background: none; border-radius: 3px; opacity: 1;
}

/* ==== ICÔNES SOCIAUX CLAIRES ==== */
.navbar .nav-link i,
.navbar .nav-link .fa-brands,
.navbar .nav-link .fa-regular {
  color: #fff !important;
  opacity: 0.95;
  transition: color 0.2s;
}
.navbar .nav-link:hover i,
.navbar .nav-link:hover .fa-brands,
.navbar .nav-link:hover .fa-regular {
  color: #2C93FF !important;
  opacity: 1;
}

/* Hamburger clair */
.navbar-light .navbar-toggler {
  border-color: rgba(255,255,255,0.55);
  background: rgba(44,147,255,0.12);
}
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255,255,255,0.95)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Fond sombre sous le menu déroulant mobile */
@media (max-width: 991.98px) {
  .navbar .navbar-collapse.show {
    background: rgba(10, 20, 40, 0.94);
    box-shadow: 0 8px 48px rgba(0,0,0,0.48);
    border-radius: 0 0 16px 16px;
    padding: 18px 0 20px;
    transition: background 0.3s;
  }
  .navbar .navbar-collapse.show .nav-link,
  .navbar .navbar-collapse.show .btn {
    color: #fff !important;
    opacity: 1 !important;
    text-shadow: 0 2px 16px #222;
  }
  .navbar .navbar-collapse.show .nav-link i,
  .navbar .navbar-collapse.show .nav-link .fa-brands,
  .navbar .navbar-collapse.show .nav-link .fa-regular {
    color: #fff !important;
    opacity: 1 !important;
    text-shadow: 0 2px 10px #222;
  }
}

@media (max-width: 767px) {
  .navbar-brand img { height: 30px;}
  .footer .container { flex-direction: column; gap: 5px; font-size: .93em;}
  .header-buttons { display: flex !important; flex-direction: column; align-items: flex-start; margin-top:12px; }
  .btn-header { margin-bottom: 6px; width: 100%; text-align: center;}
}
.navbar-toggle { z-index: 1041; }

/* ====== Footer ====== */
.footer {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  color: #AAAAAA;
  z-index: 4;
  text-align: right;
  margin-top: 50px;
  background: #222;
}
.footer .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  flex-direction: row;
  gap: 8px;
}
.footer a { color: #fff; }
.footer .heart{ color: #FF3B30; }
.footer img { height: 20px; vertical-align: middle; }

/* Médiathèque/Custom plugin demo : désactive si inutile */
.fixed-plugin { position: fixed; top: 0; right: 50px; z-index: 1031; }
