/* INIX Public Responsive CSS Live Link v2.7.3
   CSS/media-query only. Preserves existing public homepage design identity. */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, iframe, table { max-width: 100%; }
img, video { height: auto; }
*, *::before, *::after { box-sizing: border-box; }

/* Header/menu safety without changing brand identity */
header, .header, .site-header, .topbar, .navbar, .nav, nav {
  max-width: 100%;
}
header .container, .header .container, .navbar .container, .nav .container,
.site-header .container, .container, .wrapper, .main-wrapper {
  max-width: 100%;
}
nav ul, .nav ul, .navbar ul, .menu, .main-menu, .header-menu {
  flex-wrap: wrap;
  gap: clamp(6px, 1vw, 14px);
}
nav a, .nav a, .navbar a, .menu a, .main-menu a, .header-menu a,
button, .btn, .button, input[type="submit"] {
  min-height: 38px;
  line-height: 1.2;
}

/* General grid/card protection */
.row, .grid, .cards, .card-grid, .listing-grid, .category-grid, .service-grid {
  max-width: 100%;
}
.card, .listing-card, .service-card, .category-card, .property-card, .box, section {
  overflow-wrap: anywhere;
}

/* Forms and controls */
input, select, textarea, button {
  max-width: 100%;
}
input, select, textarea {
  font-size: 16px;
}

@media (max-width: 1200px) {
  .container, .wrapper, .main-wrapper { padding-left: 18px; padding-right: 18px; }
  nav a, .nav a, .navbar a, .menu a, .main-menu a { font-size: clamp(13px, 1.25vw, 16px); padding-left: clamp(6px, .8vw, 12px); padding-right: clamp(6px, .8vw, 12px); }
}

@media (max-width: 900px) {
  body { font-size: 15px; }
  .container, .wrapper, .main-wrapper { padding-left: 14px; padding-right: 14px; }
  .row, .grid, .cards, .card-grid, .listing-grid, .category-grid, .service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  header, .header, .site-header, .navbar, nav {
    overflow-x: clip;
  }
  nav ul, .nav ul, .navbar ul, .menu, .main-menu, .header-menu {
    row-gap: 8px;
  }
}

@media (max-width: 640px) {
  html, body { width: 100%; }
  body { font-size: 14px; }
  .container, .wrapper, .main-wrapper { padding-left: 12px; padding-right: 12px; }
  h1 { font-size: clamp(24px, 7vw, 34px); line-height: 1.12; }
  h2 { font-size: clamp(20px, 5.8vw, 28px); line-height: 1.16; }
  h3 { font-size: clamp(18px, 5vw, 23px); }
  p { line-height: 1.55; }
  .row, .grid, .cards, .card-grid, .listing-grid, .category-grid, .service-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .card, .listing-card, .service-card, .category-card, .property-card, .box {
    border-radius: 14px;
  }
  nav ul, .nav ul, .navbar ul, .menu, .main-menu, .header-menu {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
  }
  nav a, .nav a, .navbar a, .menu a, .main-menu a, .header-menu a,
  .btn, .button, button, input[type="submit"] {
    min-height: 42px;
    padding: 10px 12px;
    font-size: 14px;
    border-radius: 12px;
  }
  table { display: block; overflow-x: auto; white-space: nowrap; }
  footer, .footer { overflow-wrap: anywhere; }
}

@media (max-width: 420px) {
  .container, .wrapper, .main-wrapper { padding-left: 10px; padding-right: 10px; }
  nav a, .nav a, .navbar a, .menu a, .main-menu a, .header-menu a { font-size: 13px; padding: 8px 9px; }
  .logo img, .brand img, header img, .site-header img { max-width: min(180px, 72vw); height: auto; }
}
