/* ============================================================
   RESPONSIVE.CSS — JeanMichel-Lo
   (corrigé + fix slider mobile centré)
============================================================ */

/* -----------------------------
   >= 1025px
------------------------------ */
@media screen and (min-width: 1025px) {
  #header.fixed a {
    color: #000;
  }
}

/* -----------------------------
   <= 1024px
------------------------------ */
@media screen and (max-width: 1024px) {
  #header .header-content {
    width: 90%;
    padding: 40px 0;
  }

  #header.fixed .logo {
    color: #000;
  }

  .nav-toggle {
    display: block;
  }

  .navigation {
    position: fixed;
    background-color: #000;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 99999;
    visibility: hidden;
    opacity: 0;
    -webkit-transition: opacity 0.5s, visibility 0s 0.5s;
    transition: opacity 0.5s, visibility 0s 0.5s;
  }

  .navigation .primary-nav {
    position: relative;
    top: 45%;
    -moz-transform: translateY(-45%);
    -ms-transform: translateY(-45%);
    -webkit-transform: translateY(-45%);
    transform: translateY(-45%);
  }

  .navigation li {
    display: block;
    margin-bottom: 20px;
  }

  .navigation a {
    display: block;
    font-size: 25px;
    margin: 0;
    text-align: center;
  }

  .person {
    margin: 0 auto 50px;
  }

  .person-content {
    text-align: center;
  }

  .person .social-icons li {
    display: inline-block;
    float: none;
    margin-bottom: 5px;
  }

  .testimonials blockquote {
    padding: 20px 5% 0;
  }

  .testimonials p {
    font-size: 12px;
  }

  .flex-control-nav {
    bottom: 20px;
  }
}

/* -----------------------------
   <= 768px
------------------------------ */
@media screen and (max-width: 768px) {
  .banner-text {
    padding-top: 30%;
  }

  .banner-text h1 {
    font-size: 42px;
  }

  .banner-text p {
    font-size: 18px;
  }

  .flexslider {
    padding-bottom: 80px;
  }

  .flex-control-nav {
    width: 100%;
  }

  .footer .footer-col {
    margin-bottom: 50px;
  }
}

/* -----------------------------
   <= 640px
------------------------------ */
@media screen and (max-width: 640px) {
  .banner-text {
    padding-top: 35%;
  }

  .testimonials p {
    font-size: 12px;
  }
}

/* -----------------------------
   <= 480px
------------------------------ */
@media screen and (max-width: 480px) {
  .banner-text {
    padding-top: 45%;
  }

  .banner-text h1 {
    font-size: 32px;
  }

  .testimonials p {
    font-size: 12px;
  }
}

/* -----------------------------
   <= 320px
------------------------------ */
@media screen and (max-width: 320px) {
  .banner-text {
    padding-top: 55%;
  }

  .testimonials blockquote {
    padding: 20px 5% 0;
  }

  .testimonials p {
    font-size: 12px;
  }
}

/* ============================================================
   FIX DEFINITIF : Slider Home centré sur mobile (Chrome/Safari)
   -> force un centrage absolu + recadrage type "cover"
   -> ne dépend PAS de object-fit
============================================================ */
@media screen and (max-width: 1024px) {

  /* Assure une hauteur stable du hero */
  #home .flexslider,
  #home .flexslider .slides,
  #home .flexslider .slides > li {
    height: 100vh;
  }

  /* Le slide sert de "cadre" */
  #home .flexslider .slides > li {
    position: relative;
    overflow: hidden;
  }

  /* Image centrée + recadrée */
  #home .flexslider .slides > li > img {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;

    /* recadrage type cover */
    min-width: 100% !important;
    min-height: 100% !important;

    /* neutralise les règles qui décalent */
    width: auto !important;
    height: auto !important;
    max-width: none !important;

    display: block !important;
  }

  /* iPhone / Chrome mobile récents : hauteur plus stable que 100vh */
  @supports (height: 100svh) {
    #home .flexslider,
    #home .flexslider .slides,
    #home .flexslider .slides > li {
      height: 100svh;
    }
  }
}
