/* Responsive safety net */
* { box-sizing: border-box; }
img, video, canvas { max-width: 100%; height: auto; }
iframe { max-width: 100%; }
/* Prevent horizontal scroll for common containers */
.container, .wrapper, .content, .section { max-width: 100%; overflow-wrap: anywhere; }
/* Tweak tables */
table { width: 100%; display: block; overflow-x: auto; border-collapse: collapse; }
th, td { padding: 0.5rem; }
/* Buttons and inputs */
input, select, textarea, button { font: inherit; max-width: 100%; }
/* Add basic mobile spacing */
@media (max-width: 768px) {
  .grid, .row { display: block !important; }
  [class*="col-"] { width: 100% !important; max-width: 100% !important; }
  nav ul { flex-wrap: wrap; }
}