/* Shared responsive utilities for all public pages */
* {
  box-sizing: border-box;
}

img,
video,
iframe,
svg {
  max-width: 100%;
  height: auto;
}

body {
  overflow-x: hidden;
}

/* Safer container behavior on smaller screens */
@media (max-width: 1200px) {
  .container,
  .content,
  .section-content,
  .section-container,
  .services-container,
  .page-container,
  .main-container,
  .hero-panel {
    width: calc(100% - 32px);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Navigation/header wrapping */
@media (max-width: 900px) {
  .header-content,
  .nav-container,
  .site-header,
  .admin-header,
  header {
    flex-wrap: wrap;
    gap: 12px;
  }

  .nav-links,
  .header-actions,
  .auth-buttons {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }
}

@media (max-width: 720px) {
  .header-content,
  .nav-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .nav-links {
    justify-content: center;
  }
}

/* Grids/cards */
@media (max-width: 900px) {
  .grid,
  .cards,
  .services-grid,
  .products-grid,
  .product-grid,
  .items-grid,
  .portfolio-grid,
  .gallery-grid,
  .work-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
  }
}

@media (max-width: 640px) {
  .grid,
  .cards,
  .services-grid,
  .products-grid,
  .product-grid,
  .items-grid,
  .portfolio-grid,
  .gallery-grid,
  .work-grid {
    grid-template-columns: 1fr;
  }

  .card,
  .service-card,
  .product-card,
  .item-card,
  .category-card,
  .portfolio-card,
  .pricing-card,
  .info-card {
    min-width: 0;
    width: 100%;
  }
}

/* Forms */
input,
select,
textarea,
button {
  max-width: 100%;
}

@media (max-width: 900px) {
  .form-row,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-row,
  .form-grid,
  .form-fields {
    gap: 12px;
  }
}

/* Tables */
.table-scroll,
.table-container,
.table-wrapper {
  overflow-x: auto;
}

table {
  width: 100%;
}

@media (max-width: 900px) {
  table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}

/* Modals/popups */
.modal-content,
.popup-content,
.auth-modal .card {
  width: min(92vw, 720px);
}

@media (max-width: 720px) {
  .modal-content,
  .popup-content {
    max-height: 90vh;
    overflow: auto;
  }

  .hero,
  .hero-section,
  .hero-panel {
    padding-left: 12px;
    padding-right: 12px;
  }

  .section-header {
    padding-left: 12px;
    padding-right: 12px;
  }

  footer,
  .footer,
  .footer-content {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
  }
}

.auth-badge {
  margin-left: 12px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.85);
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.18);
  backdrop-filter: blur(8px);
  white-space: nowrap;
}


@media (max-width: 720px) {
  .auth-badge {
  margin-left: 12px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.85);
  color: #0f172a;
  border: 1px solid rgba(15, 23, 42, 0.18);
  backdrop-filter: blur(8px);
  white-space: nowrap;
}

}


