/* style.css*/

body {
  margin: 0;
  padding: 0;
  font-family: Arial, sans-serif;
}

/*NAVBAR*/
       /* Navbar */
        header {
            background-color: #2c3e50;
            color: white;
            padding: 1rem;
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }
        
        .navbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            max-width: 1200px;
            margin: 0 auto;
        }
        
        .logo {
            font-size: 1.5rem;
            font-weight: bold;
        }
        
        /* Navigation desktop */
        .desktop-nav ul {
            display: flex;
            list-style: none;
        }
        
        .desktop-nav ul li {
            margin-left: 2rem;
        }
        
        .desktop-nav ul li a {
            color: white;
            text-decoration: none;
            font-weight: 500;
            transition: color 0.3s;
        }
        
        .desktop-nav ul li a:hover {
            color: #3498db;
        }
        
        /* Navigation mobile */
        .mobile-nav-toggle {
            display: none;
            background: none;
            border: none;
            color: white;
            font-size: 1.5rem;
            cursor: pointer;
        }
        
        .mobile-nav {
            display: none;
            flex-direction: column;
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background-color: #34495e;
            padding: 1rem;
        }
        
        .mobile-nav ul {
            flex-direction: column;
            list-style: none;
        }
        
        .mobile-nav ul li {
            margin: 0.5rem 0;
        }
        
        .mobile-nav ul li a {
            color: white;
            text-decoration: none;
            font-weight: 500;
            transition: color 0.3s;
        }
        
        .mobile-nav ul li a:hover {
            color: #3498db;
        }
        
        /* Contenu principal */
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 100px 20px 20px;
            text-align: center;
        }
        
        .container h1 {
            font-size: 2rem;
            color: #2c3e50;
        }
        
        /* Media queries */
        @media screen and (max-width: 768px) {
            .desktop-nav {
                display: none;
            }
            
            .mobile-nav-toggle {
                display: block;
            }
            
            .mobile-nav {
                display: flex;
            }
            
            .container {
                padding-top: 100px;
            }
        }
    
    /*--------------*/
    
    iframe {
      height: 400px;
      width: 400px;
    }
    #map { 
      height: 100%;
      width: 100%;
      min-height: 350px;
      border-radius: 12px;
      border: 0;
    }
    /*body {
      margin: 0;
      font-family: Arial, sans-serif;
      background: #f5f5f5;
      color: #222;
    }*/

   
  
    .hero {
      background: url("./batiment.png") center/cover;
      padding: 120px 8%;
      color: white;
      text-shadow: 0 2px 10px rgba(0,0,0,0.6);
    }

    .hero h1 {
      font-size: 3rem;
      margin-bottom: 10px;
    }

    .hero p {
      font-size: 1.2rem;
      max-width: 600px;
    }

    .section {
      padding: 50px 8%;
    }

    .section-title {
      font-size: 1.8rem;
      margin-bottom: 20px;
      color: #0a2a43;
    }

    .program-description {
      font-size: 1rem;
      max-width: 700px;
      line-height: 1.6;
    }

    /* Liste des appartements */
    .apartments-grid {
      display: grid;
      /*grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));*/
      gap: 20px;
      margin-top: 30px;
    }

    .apartment-card {
      background: white;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    }

    .apartment-card img {
      width: 100%;
      height: 472px;
      object-fit: cover;
    }

    .apartment-info {
      padding: 15px;
    }

    .apartment-info h3 {
      margin: 0;
      font-size: 1.1rem;
      color: #0a2a43;
    }

    .apartment-meta {
      font-size: 0.9rem;
      opacity: 0.7;
      margin: 6px 0;
    }

    .apartment-price {
      font-weight: bold;
      color: #0a2a43;
      margin-top: 10px;
    }

    .btn {
      display: inline-block;
      padding: 10px 16px;
      background: #0a2a43;
      color: white;
      border-radius: 6px;
      text-decoration: none;
      margin-top: 10px;
      font-size: 0.9rem;
    }

    /* Viewer 3D */
    #threejs-container { 
      width: 85vw; 
      height: 100vh;
      overflow: hidden;
    } 

    /* Contact */
    .contact-box {
      background: white;
      padding: 30px;
      border-radius: 12px;
      box-shadow: 0 4px 15px rgba(0,0,0,0.1);
      max-width: 500px;
    }

    input, textarea {
      width: 100%;
      padding: 10px;
      margin-top: 8px;
      border-radius: 6px;
      border: 1px solid #ccc;
    }

    footer {
      text-align: center;
      padding: 20px;
      background: #0a2a43;
      color: white;
      margin-top: 40px;
    }


    * {box-sizing:border-box}

/* Slideshow container */
.slideshow-container {
  /*max-width: 1000px;*/
  width: 100%;
  height: 50%;;
  position: relative;
  /*margin: auto;*/
  padding-top:81px;
}

/* Hide the images by default */
.mySlides {
  display: none;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
  user-select: none;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #717171;
}

/* Fading animation */
.fade {
  animation-name: fade;
  animation-duration: 1.5s;
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

/* --- CONTACT : FLEXBOX RESPONSIVE --- */

.contact-container {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  margin-top: 30px;
  justify-content: center;
  align-items: flex-start;
}

/* MAP */
.map-box {
  flex: 1 1 450px;
  min-width: 300px;
}

.map-box iframe {
  width: 100%;
  height: 100%;
  min-height: 350px;
  border: 0;
  border-radius: 12px;
}

/* FORMULAIRE */
.contact-box {
  flex: 1 1 350px;
  min-width: 300px;
  background: white;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.contact-box input,
.contact-box textarea {
  width: 100%;
  padding: 12px;
  border-radius: 6px;
  border: 1px solid #ccc;
  font-size: 16px;
}

.contact-box textarea {
  min-height: 150px;
  resize: vertical;
}

.btn {
  padding: 12px;
  background: #0a2a43;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  transition: 0.3s;
}

.btn:hover {
  background: #08345a;
}

/* RESPONSIVE MOBILE */
@media (max-width: 768px) {
  .contact-container {
    flex-direction: column;
  }

  .map-box iframe {
    min-height: 300px;
  }
  #map {
    display: none;
  }
}


 /* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
 @media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {display: none;}
  .topnav a.icon {
    float: right;
    display: block;
  }
}

/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
@media screen and (max-width: 600px) {
  .topnav.responsive {position: relative;}
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
} 