/* =============================================
   ADAPTATION MOBILE — breakpoints principaux
   max-width: 1024px  → tablette
   max-width: 768px   → mobile paysage
   max-width: 480px   → mobile portrait
============================================= */

/* ---- HEADER ---- */
@media(max-width:768px){

  .header{
    height:70px;
    padding:12px 5%;
  }

  .logo-box img{
    height:60px;
  }

  /* Burger button */
  .burger{
    display:flex;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
    background:none;
    border:none;
    padding:6px;
    z-index:100;
  }

  .burger span{
    display:block;
    width:26px;
    height:2px;
    background:white;
    border-radius:2px;
    transition:.3s;
  }

  /* Burger animé en croix quand actif */
  .burger.open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  .burger.open span:nth-child(2){
    opacity:0;
  }

  .burger.open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }

  /* Menu déroulant mobile */
  .navbar{
    display:none;
    position:fixed;
    top:70px;
    left:0;
    right:0;
    bottom:0;
    background:var(--blue);
    flex-direction:column;
    align-items:flex-start;
    padding:30px 7%;
    gap:0;
    overflow-y:auto;
    z-index:99;
  }

  .navbar.open{
    display:flex;
  }

  .dropdown{
    width:100%;
  }

  .navbar a{
    font-size:18px;
    padding:16px 0;
    border-bottom:1px solid rgba(228,216,172,.15);
    width:100%;
  }

  /* Sous-menu agences masqué par défaut en mobile */
  .dropdown-menu{
    position:static;
    opacity:0;
    visibility:hidden;
    max-height:0;
    overflow:hidden;
    transform:none;
    box-shadow:none;
    background:rgba(255,255,255,.06);
    border-radius:12px;
    padding:0 8px;
    width:100%;
    transition:max-height .3s ease, opacity .3s ease, padding .3s ease;
  }

  .dropdown-menu.open{
    opacity:1;
    visibility:visible;
    max-height:200px;
    padding:8px;
    margin-bottom:8px;
  }

  .dropdown-menu a{
    color:white;
    border-bottom:none;
    padding:12px 15px;
    font-size:16px;
  }

  .dropdown-menu a:hover{
    background:rgba(228,216,172,.15);
    color:var(--gold);
  }

  .drop-btn{
    padding:16px 0;
    border-bottom:1px solid rgba(228,216,172,.15);
    color:white;
    font-size:18px;
    letter-spacing:normal;
    text-transform:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
  }

  .drop-arrow{
    font-style:normal;
    font-size:12px;
    transition:transform .3s;
    display:inline-block;
  }

  .drop-btn.open .drop-arrow{
    transform:rotate(180deg);
  }
}


/* ---- HERO ---- */
@media(max-width:900px){

  .hero{
    flex-direction:column;
    align-items:flex-start;
    padding:60px 7%;
    min-height:auto;
    gap:40px;
  }

  .hero-content{
    max-width:100%;
  }

  h1,
  .hero h1{
    font-size:50px;
  }

  .gold-title{
    font-size:60px;
  }

  .hero-photo{
    width:100%;
    height:320px;
    transform:rotate(0deg);
  }
}

@media(max-width:480px){

  .hero{
    padding:40px 5%;
  }

  h1,
  .hero h1{
    font-size:38px;
  }

  .gold-title{
    font-size:48px;
  }

  .hero p{
    font-size:16px;
  }

  .gold-btn{
    display:block;
    text-align:center;
    padding:16px 20px;
  }

  .hero-photo{
    height:260px;
    border-radius:25px;
  }
}


/* ---- SECTION CHOOSE / AGENCY CARDS ---- */
@media(max-width:900px){

  .choose{
    padding:70px 5%;
  }

  .choose h2{
    font-size:35px;
    margin-bottom:40px;
  }

  .agency-grid{
    flex-direction:column;
    align-items:center;
  }

  .agency-card{
    width:100%;
    max-width:500px;
    height:380px;
  }
}

@media(max-width:480px){

  .agency-card{
    height:320px;
    border-radius:20px;
  }

  .agency-card div{
    bottom:15px;
    left:15px;
    right:15px;
    padding:18px;
    border-radius:18px;
  }
}


/* ---- STORY (about) ---- */
@media(max-width:900px){

  .story{
    grid-template-columns:1fr;
    padding:70px 7%;
    gap:40px;
  }

  .story-text h2{
    font-size:50px;
  }

  .story-image{
    height:400px;
  }
}

@media(max-width:480px){

  .story{
    padding:50px 5%;
  }

  .story-text h2{
    font-size:38px;
  }

  .story-image{
    height:280px;
    border-radius:25px;
  }

  .mini-agency{
    height:200px;
    border-radius:22px;
  }

  .mini-agency h3{
    font-size:38px;
  }
}


/* ---- REALISATIONS (carousel) ---- */
@media(max-width:800px){

  .realisation{
    padding:60px 5%;
  }

  .realisation h1{
    font-size:60px;
  }

  .carousel{
    height:500px;
    border-radius:25px;
  }

  .slide-info{
    top:15px;
    left:15px;
    right:15px;
    padding:18px;
  }

  .slide-info h2{
    font-size:35px;
  }

  .prev,
  .next{
    width:45px;
    height:45px;
    font-size:25px;
  }
}

@media(max-width:480px){

  .realisation h1{
    font-size:48px;
    margin-bottom:30px;
  }

  .carousel{
    height:400px;
    border-radius:18px;
  }

  .slide-info h2{
    font-size:28px;
    margin-bottom:8px;
  }

  .slide-info p{
    font-size:13px;
  }

  .prev,
  .next{
    width:38px;
    height:38px;
    font-size:20px;
  }

  .prev{
    left:10px;
  }

  .next{
    right:10px;
  }
}


/* ---- CONTACT ---- */
@media(max-width:900px){

  .contact-hero{
    grid-template-columns:1fr;
    padding:70px 7%;
    gap:40px;
  }

  .contact-text h1{
    font-size:55px;
  }
}

@media(max-width:480px){

  .contact-hero{
    padding:50px 5%;
    gap:30px;
  }

  .contact-text h1{
    font-size:42px;
  }

  .contact-info{
    flex-direction:column;
    gap:12px;
    margin-top:30px;
  }

  .contact-info div{
    padding:18px;
    border-radius:15px;
  }

  .contact-card{
    padding:28px 20px;
    border-radius:22px;
  }

  .contact-card input,
  .contact-card textarea{
    padding:12px;
    border-radius:12px;
    font-size:15px;
  }

  .contact-card button{
    padding:15px;
    font-size:15px;
  }
}


/* ---- CALLBACK BOX ---- */
@media(max-width:700px){

  .callback-line{
    flex-direction:column;
  }

  .callback-line input,
  .callback-line button{
    width:100%;
    border-radius:20px;
  }
}

@media(max-width:480px){

  .callback-box{
    padding:22px;
    border-radius:18px;
    margin-top:30px;
  }

  .callback-box h2{
    font-size:34px;
  }
}


/* ---- PAGES AGENCES ---- */
@media(max-width:900px){

  .agency-page{
    grid-template-columns:1fr;
    padding:50px 5%;
    gap:40px;
  }

  .agency-photo{
    height:450px;
    order:-1;
  }

  .agency-content h1{
    font-size:70px;
  }
}

@media(max-width:480px){

  .agency-photo{
    height:300px;
    border-radius:25px;
  }

  .agency-content h1{
    font-size:52px;
  }

  .agency-text{
    font-size:15px;
  }

  .agency-infos div{
    padding:16px 18px;
    border-radius:16px;
  }

  .agency-content .main-btn{
    display:block;
    text-align:center;
    padding:14px 20px;
  }
}


/* ---- MENTIONS LÉGALES ---- */
@media(max-width:800px){

  .legal{
    padding:40px 5%;
  }

  .legal-container{
    padding:30px 25px;
    border-radius:25px;
  }

  .legal h1{
    font-size:60px;
    margin-bottom:40px;
  }

  .legal h2{
    font-size:19px;
  }
}

@media(max-width:480px){

  .legal-container{
    padding:25px 18px;
    border-radius:18px;
  }

  .legal h1{
    font-size:46px;
    margin-bottom:30px;
  }

  .legal h2{
    font-size:17px;
    margin-top:35px;
  }

  .legal p{
    font-size:14px;
  }
}


/* ---- FOOTER ---- */
@media(max-width:480px){

  footer{
    padding:22px 5%;
    font-size:13px;
  }
}