/* Shared responsive stylesheet (safe injection) */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
img, video, canvas { max-width: 100%; height: auto; }
.table-responsive, table { width: 100%; }
table { display: block; overflow-x: auto; }
.container, .wrap, .content, .page { width: 100%; max-width: 1200px; margin: 0 auto; padding-inline: 16px; }
nav ul { display: flex; flex-wrap: wrap; gap: 12px; padding-left: 0; list-style: none; margin: 0; }
:root { --fs-base: clamp(15px, 1.6vw, 18px); --fs-h1: clamp(28px, 4vw, 40px); --fs-h2: clamp(24px, 3.2vw, 32px); --fs-h3: clamp(20px, 2.4vw, 26px); }
body { font-size: var(--fs-base); }
h1 { font-size: var(--fs-h1); } h2 { font-size: var(--fs-h2); } h3 { font-size: var(--fs-h3); }
.hidden-mobile { display: block; } .hidden-desktop { display: none; }
@media (max-width: 768px) {
  .row, .rows, .columns, .grid { display: block !important; }
  [class*="col-"], .column, .col, .grid > * { width: 100% !important; max-width: 100% !important; }
  header, .header, footer, .footer { padding: 12px; }
  .hero, .banner { padding: 24px 12px; }
  .hidden-mobile { display: none !important; } .hidden-desktop { display: block !important; }
  button, .button, input[type="text"], input[type="email"], input[type="tel"], select { width: 100%; }
}
