html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

img,
video,
svg {
  max-width: 100%;
}

button,
a,
input,
select,
textarea {
  max-width: 100%;
}

@media (max-width: 767px) {
  body {
    overflow-wrap: normal;
    word-break: normal;
  }

  h1,
  h2,
  h3,
  h4,
  p,
  li,
  span,
  a {
    overflow-wrap: normal;
    word-break: normal;
  }

  section {
    scroll-margin-top: 132px;
  }

  [class*="px-[60px]"],
  [class*="md:px-[60px]"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  [class*="py-24"] {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  [class*="pt-24"] {
    padding-top: 56px !important;
  }

  [class*="pb-24"],
  [class*="pb-32"] {
    padding-bottom: 56px !important;
  }

  [class*="min-h-[800px]"],
  [class*="min-h-[720px]"],
  [class*="min-h-[600px]"],
  [class*="h-[800px]"] {
    min-height: auto !important;
    height: auto !important;
  }

  [class*="grid-cols-12"],
  [class*="grid-cols-4"],
  [class*="grid-cols-3"],
  [class*="grid-cols-2"],
  [class*="md:grid-cols-2"],
  [class*="md:grid-cols-3"],
  [class*="md:grid-cols-4"],
  [class*="lg:grid-cols-12"],
  [class*="lg:grid-cols-3"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  [class*="col-span-"],
  [class*="lg:col-span-"] {
    grid-column: 1 / -1 !important;
  }

  [class*="max-w-[1440px]"] {
    max-width: 100% !important;
  }

  [class*="w-2/3"],
  [class*="w-1/3"],
  [class*="w-[300px]"],
  [class*="w-[400px]"],
  [class*="w-[500px]"],
  [class*="w-[600px]"],
  [class*="w-[700px]"],
  [class*="w-[800px]"] {
    width: 100% !important;
  }

  [class*="text-[80px]"] {
    font-size: clamp(42px, 13vw, 58px) !important;
    line-height: 1.02 !important;
    letter-spacing: 0 !important;
  }

  .text-6xl,
  .md\:text-6xl,
  .text-7xl,
  .md\:text-7xl {
    font-size: clamp(36px, 10vw, 48px) !important;
    line-height: 1.08 !important;
  }

  .text-5xl,
  .md\:text-5xl {
    font-size: clamp(32px, 9vw, 42px) !important;
    line-height: 1.12 !important;
  }

  .text-4xl,
  .md\:text-4xl {
    font-size: clamp(28px, 8vw, 36px) !important;
    line-height: 1.14 !important;
  }

  .text-3xl,
  .md\:text-3xl {
    font-size: clamp(24px, 7vw, 30px) !important;
    line-height: 1.18 !important;
  }

  .text-xl,
  .md\:text-xl {
    font-size: 17px !important;
    line-height: 1.65 !important;
  }

  [class*="gap-12"],
  [class*="gap-16"] {
    gap: 32px !important;
  }

  [class*="p-12"],
  [class*="md:p-12"],
  [class*="p-10"],
  [class*="md:p-10"],
  [class*="p-8"] {
    padding: 24px !important;
  }

  [class*="rounded-[32px]"],
  [class*="rounded-3xl"] {
    border-radius: 22px !important;
  }

  [class*="-mt-24"],
  [class*="-mt-20"],
  [class*="-mt-[60px]"] {
    margin-top: -32px !important;
  }

  .flex[class*="md:flex-row"],
  .flex[class*="lg:flex-row"] {
    flex-direction: column !important;
  }

  .items-center[class*="md:items-"],
  .items-center[class*="lg:items-"] {
    align-items: stretch !important;
  }

  button,
  .hm-navbar-phone,
  a[class*="px-8"][class*="py-4"] {
    min-height: 48px;
  }

  a[class*="px-8"][class*="py-4"],
  button[class*="px-8"][class*="py-4"],
  button[class*="w-full"],
  .local-cta {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  br {
    display: none;
  }

  .sticky {
    position: static !important;
  }

  .absolute[class*="blur"],
  [class*="rounded-full"][class*="blur"] {
    display: none !important;
  }

  .transform[class*="md:scale-110"],
  [class*="rotate-1"] {
    transform: none !important;
  }

  .article-layout,
  .article-main,
  .article-sidebar {
    width: 100% !important;
    min-width: 0 !important;
  }

  .article-sidebar {
    margin-top: 12px !important;
  }

  .article-body-section {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .local-hero {
    padding: 58px 20px 48px !important;
  }

  .local-hero h1 {
    font-size: clamp(32px, 10vw, 44px) !important;
    line-height: 1.08 !important;
  }

  .local-hero p,
  .local-card p,
  .local-card li {
    font-size: 15px !important;
  }

  .local-main {
    padding: 36px 20px 56px !important;
  }

  .local-card {
    padding: 22px !important;
    border-radius: 20px !important;
  }

  .local-links a {
    width: 100%;
    text-align: center;
  }

  .home-hero-actions {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  .home-hero-actions a {
    width: 100% !important;
    justify-content: center !important;
  }

  .depannage-hero {
    min-height: auto !important;
    padding-top: 74px !important;
    padding-bottom: 74px !important;
  }

  .depannage-hero > .relative {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .home-expertise-section {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  .home-expertise-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }

  .home-expertise-intro,
  .home-expertise-grid {
    width: 100% !important;
    min-width: 0 !important;
  }

  .home-expertise-intro h2 {
    max-width: 100% !important;
    font-size: clamp(34px, 10vw, 42px) !important;
    line-height: 1.08 !important;
  }

  .home-expertise-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px !important;
  }

  .home-expertise-grid > div {
    padding: 24px !important;
  }

  .home-expertise-grid h3 {
    font-size: 24px !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 900px) {
  .hm-navbar-inner {
    padding: 10px 18px 12px;
    gap: 8px 14px;
  }

  .hm-navbar-logo img {
    width: 90px;
  }

  .hm-navbar-phone {
    gap: 8px;
    min-height: 44px;
    padding: 6px 11px 6px 6px;
  }

  .hm-navbar-phone-icon {
    width: 30px;
    height: 30px;
  }

  .hm-navbar-phone-label {
    font-size: 8px;
  }

  .hm-navbar-phone-number {
    font-size: 13px;
  }

  .hm-navbar-nav {
    gap: 18px;
    justify-content: center;
    overflow-x: auto;
    padding-bottom: 0;
    scrollbar-width: none;
  }

  .hm-navbar-nav::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 370px) {
  .hm-navbar-phone-label {
    display: none;
  }

  .hm-navbar-logo img {
    width: 78px;
  }

  .hm-navbar-nav {
    gap: 14px;
  }

  .hm-navbar-link {
    font-size: 13px;
  }
}
