@media (max-width: 768px) {
  body {
    padding-top: 160px !important;
  }
  
  .header {
    padding: 0.4rem 0.8rem !important;
  }
  
  .header .image-container img {
    max-height: 45px !important;
  }

  .navbar-toggler {
    border: none !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0.25rem 0.5rem !important;
  }
  
  .navbar-toggler:focus {
    box-shadow: none !important;
    outline: none !important;
  }
  
  .top-bar {
    padding: 0.25rem 0.4rem !important;
    font-size: 0.7rem !important;
    min-height: auto !important;
    flex-wrap: wrap !important;
    gap: 0.2rem !important;
  }
  
  .top-left {
    display: none !important;
  }
  
  .top-center {
    flex: 1 !important;
    justify-content: flex-start !important;
    gap: 0.4rem !important;
    flex-wrap: wrap !important;
    order: 1 !important;
  }
  
  .top-center .contact-link {
    font-size: 0.7rem !important;
    padding: 0.15rem 0.3rem !important;
    white-space: nowrap !important;
  }
  
  .top-center .contact-link i {
    font-size: 0.65rem !important;
    margin-right: 0.2rem !important;
  }
  
  .top-right {
    order: 2 !important;
    gap: 0.3rem !important;
  }
  
  .top-right .social-link {
    padding: 0.25rem 0.35rem !important;
    font-size: 0.7rem !important;
  }
  
  .top-right .social-link i {
    font-size: 0.7rem !important;
  }
  
  .hero, .section-bg {
    height: auto !important;
    min-height: 250px !important;
    padding: 50px 15px !important;
  }
  
  .text-overlay {
    font-size: 1.5rem !important;
  }
  
  .title {
    padding: 15px !important;
  }
  
  .section-bloc, .bloc-arriere-plan3 {
    padding: 30px 10px !important;
  }
  
  .contenue-prestation {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
    padding: 15px 10px !important;
  }
  
  .client-grid {
    grid-template-columns: 1fr !important;
  }
  
  .col-lg-3, .col-lg-4, .col-lg-6 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  
  .service-card, .client-card, .element {
    padding: 15px !important;
    margin: 10px 0 !important;
  }
  
  .article1, .article2, .article3 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px auto !important;
    padding: 15px !important;
  }
  
  .imagevente img {
    max-width: 100% !important;
    height: auto !important;
  }
  
  .about-image {
    display: none !important;
  }
  
  .contact-container {
    flex-direction: column !important;
    padding: 15px !important;
  }
  
  .contact {
    width: 100% !important;
    padding: 15px !important;
  }
  
  .formulaire {
    width: 100% !important;
  }
  
  .form-control {
    font-size: 1rem !important;
  }
  
  .btn {
    padding: 10px 15px !important;
    font-size: 0.95rem !important;
  }
  
  .bouton-bleu, .filter-btn {
    padding: 8px 12px !important;
    font-size: 0.9rem !important;
  }
  
  h1 {
    font-size: 1.6rem !important;
  }
  
  h2 {
    font-size: 1.4rem !important;
  }
  
  h3 {
    font-size: 1.2rem !important;
  }
  
  h5 {
    font-size: 1rem !important;
  }
  
  p, li {
    font-size: 0.95rem !important;
  }
  
  .footer {
    flex-direction: column !important;
    text-align: left !important;
  }
  
  footer {
    padding: 20px 15px !important;
  }
}

@media (max-width: 650px) {
  body {
    padding-top: 145px !important;
  }

  .top-bar {
    padding: 0.2rem 0.3rem !important;
    font-size: 0.65rem !important;
  }
  
  .top-center .contact-link {
    font-size: 0.65rem !important;
    padding: 0.1rem 0.25rem !important;
  }
  
  .top-center .contact-link + .contact-link {
    padding-left: 0.4rem !important;
    margin-left: 0.4rem !important;
    border-left: 1px solid rgba(255,255,255,0.12) !important;
  }
  
  .top-right .social-link {
    padding: 0.2rem 0.3rem !important;
  }
}

@media (max-width: 576px) {
  body {
    padding-top: 135px !important;
  }

  .container, .container-fluid {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .header {
    padding: 0.3rem 0.6rem !important;
  }

  .navbar-toggler {
    border: none !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0.2rem 0.4rem !important;
  }
  
  .navbar-toggler:focus,
  .navbar-toggler:active {
    box-shadow: none !important;
    outline: none !important;
    background: none !important;
    background-color: transparent !important;
  }
  
  .header .image-container img {
    max-height: 40px !important;
  }
  
  .hero, .section-bg {
    min-height: 220px !important;
    padding: 40px 10px !important;
    background-position: center !important;
    background-size: cover !important;
  }
  
  .vente-location-container {
    padding: 16px 12px !important;
    margin: 0 8px !important;
  }
  
  .text-overlay {
    font-size: 1.3rem !important;
    padding: 0 8px !important;
  }
  
  .title {
    padding: 12px 10px !important;
  }

  .section-bloc, .bloc-arriere-plan3 {
    padding: 25px 8px !important;
    margin-bottom: 20px !important;
  }
  
  .cadre-blanc {
    padding: 14px 12px !important;
    margin: 0 8px !important;
  }
  
  .cadre-content {
    flex-direction: column !important;
    gap: 12px !important;
  }
  
  .cadre-logo img {
    max-width: 140px !important;
    height: auto !important;
  }

  .service-card, .client-card, .element,
  .article1, .article2, .article3 {
    padding: 12px !important;
    margin: 8px 0 !important;
  }

  .imagevente img {
    max-width: 100% !important;
    height: auto !important;
  }
  
  .element-image img {
    height: 140px !important;
    object-fit: cover !important;
  }

  .contenue-prestation {
    padding: 12px 8px !important;
    gap: 12px !important;
  }

  .contact-container {
    padding: 12px !important;
  }
  
  .form-control {
    padding: 10px !important;
    font-size: 0.9rem !important;
  }

  .btn, .bouton-bleu {
    width: 100% !important;
    padding: 10px !important;
    font-size: 0.9rem !important;
    margin-bottom: 8px !important;
  }
  
  .filter-btn {
    padding: 6px 10px !important;
    font-size: 0.85rem !important;
  }

  h1 {
    font-size: 1.4rem !important;
  }
  
  h2 {
    font-size: 1.3rem !important;
  }
  
  h3 {
    font-size: 1.1rem !important;
  }
  
  h5 {
    font-size: 0.95rem !important;
  }
  
  p, li {
    font-size: 0.9rem !important;
  }

  .top-bar {
    padding: 0.25rem 0.4rem !important;
    font-size: 0.7rem !important;
  }
  
  .top-left, .top-center, .top-right {
    gap: 0.3rem !important;
  }

  footer {
    padding: 15px 10px !important;
  }
  
  .footer h5 {
    font-size: 0.9rem !important;
  }
  
  .footer p {
    font-size: 0.85rem !important;
  }
}

@media (max-width: 360px) {
  body {
    padding-top: 95px !important;
  }

  .top-bar {
    display: none !important;
  }

  .header {
    padding: 0.3rem 0.4rem !important;
    min-height: auto !important;
  }
  
  .all-container {
    padding: 0.2rem !important;
    gap: 0.3rem !important;
  }
  
  .header .image-container img {
    max-height: 35px !important;
  }
  
  .logo-link {
    max-width: 120px !important;
  }

  .navbar-toggler {
    border: none !important;
    background: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0.2rem 0.3rem !important;
  }
  
  .navbar-toggler:focus,
  .navbar-toggler:active,
  .navbar-toggler:hover {
    box-shadow: none !important;
    outline: none !important;
    background: none !important;
    background-color: transparent !important;
    border: none !important;
  }
  
  .hero, .section-bg {
    min-height: 200px !important;
    padding: 30px 8px !important;
  }
  
  .text-overlay {
    font-size: 1.1rem !important;
  }
  
  .title {
    padding: 10px !important;
  }
  
  .section-bloc, .bloc-arriere-plan3 {
    padding: 20px 6px !important;
  }
  
  .service-card, .client-card, .element,
  .article1, .article2, .article3 {
    padding: 10px !important;
  }
  
  .contenue-prestation {
    padding: 10px 6px !important;
    gap: 10px !important;
  }
  
  h1 {
    font-size: 1.2rem !important;
  }
  
  h2 {
    font-size: 1.1rem !important;
  }
  
  h3 {
    font-size: 1rem !important;
  }
  
  h5 {
    font-size: 0.9rem !important;
  }
  
  p, li {
    font-size: 0.85rem !important;
  }
  
  .btn, .bouton-bleu {
    padding: 8px !important;
    font-size: 0.85rem !important;
  }
  
  .element-image img {
    height: 120px !important;
  }
  
  footer {
    padding: 12px 8px !important;
  }
  
  .footer h5 {
    font-size: 0.85rem !important;
  }
  
  .footer p {
    font-size: 0.8rem !important;
  }
}

@media (max-width: 320px) {
  body {
    padding-top: 50px !important;
    font-size: 14px !important;
  }

  .top-bar {
    display: none !important;
  }

  .header {
    padding: 0.25rem 0.3rem !important;
    min-height: 50px !important;
  }
  
  .header .image-container img {
    max-height: 32px !important;
  }
  
  .all-container {
    padding: 0.1rem !important;
  }

  .hero, .section-bg {
    min-height: 180px !important;
    padding: 30px 6px !important;
  }
  
  .vente-location-container {
    padding: 12px 8px !important;
    margin: 0 6px !important;
  }
  
  .text-overlay {
    font-size: 1rem !important;
    padding: 0 6px !important;
  }
  
  .title {
    padding: 8px !important;
  }

  h1, .titre-principal {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;
  }
  
  h2 {
    font-size: 1rem !important;
  }
  
  h3 {
    font-size: 0.95rem !important;
  }
  
  h5 {
    font-size: 0.85rem !important;
  }
  
  p, li {
    font-size: 0.8rem !important;
    line-height: 1.4 !important;
  }
  
  .texte-intro {
    font-size: 0.8rem !important;
  }

  .section-bloc, .bloc-arriere-plan3 {
    padding: 18px 6px !important;
  }
  
  .cadre-blanc {
    padding: 10px 8px !important;
    margin: 0 6px !important;
  }
  
  .cadre-logo img {
    max-width: 100px !important;
  }

  .service-card, .client-card, .element,
  .article1, .article2, .article3 {
    padding: 8px !important;
    margin: 6px 0 !important;
  }
  
  .service-icon {
    width: 40px !important;
    height: 40px !important;
    font-size: 20px !important;
  }

  .contenue-prestation {
    padding: 8px 6px !important;
    gap: 8px !important;
  }

  .btn, .bouton-bleu, .boutons-actions .bouton-bleu {
    padding: 6px 10px !important;
    font-size: 0.8rem !important;
    width: 100% !important;
    margin: 4px 0 !important;
    display: block !important;
  }
  
  .filter-btn {
    padding: 4px 6px !important;
    font-size: 0.75rem !important;
  }
  
  .boutons-actions {
    flex-direction: column !important;
    width: 100% !important;
    gap: 6px !important;
  }

  .element-image img {
    height: 100px !important;
  }
  
  .imagevente img {
    max-width: 90% !important;
  }

  .contact-container {
    padding: 8px !important;
    margin: 6px 0 !important;
  }
  
  .form-control {
    padding: 6px !important;
    font-size: 0.85rem !important;
  }

  footer {
    padding: 10px 6px !important;
  }
  
  .footer {
    padding: 8px 6px !important;
  }
  
  .footer h5, .footer h6 {
    font-size: 0.8rem !important;
  }
  
  .footer p {
    font-size: 0.75rem !important;
  }

  .container, .container-fluid {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .py-5 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
  
  .py-4 {
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
  }
  
  .mt-3 {
    margin-top: 0.75rem !important;
  }
  
  .mb-3 {
    margin-bottom: 0.75rem !important;
  }
}

img {
  max-width: 100%;
  height: auto;
}

table {
  width: 100% !important;
  display: block !important;
  overflow-x: auto !important;
}

@media (max-width: 768px) {
  a, button, .btn {
    min-height: 44px;
    min-width: 44px;
  }
}
