/* ==== MOBILE FIXES ADDED AUTOMATICALLY ==== */
/* General layout container */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px;
  box-sizing: border-box;
}

/* Scale media only for narrower viewports */
@media (max-width: 1024px) {
  img, video {
    max-width: 100%;
    height: auto;
  }
}

/* Navbar behavior: keep horizontal on desktop, stack on small screens */
.navbar {
  white-space: nowrap;
  overflow: hidden;
}
.navbar a { display: inline-block; padding: 8px 12px; }
@media (max-width: 480px) {
  .navbar { text-align: center; }
  .navbar a { display: block; border-bottom: 1px solid #ccc; padding: 12px 16px; }
}

/* Prevent horizontal overflow */
html, body {
  overflow-x: hidden;
}

/* touch targets */
a, button { -webkit-tap-highlight-color: rgba(0,0,0,0.05); padding: 10px 14px; display: inline-block; }

/* small image polish */
img { border-radius: 4px; margin-bottom: 10px; }

/* keep rainbow rule visible but responsive */
hr.rainbow { height: 20px; border: 0; background-size: contain; background-repeat: repeat-x; }

/* End of automatic mobile fixes */

/* ==== HAMBURGER MENU ==== */
.hamburger {
  display: none;
  cursor: pointer;
  font-size: 24px;
  background: none;
  border: none;
  color: inherit;
}
@media (max-width: 480px) {
  .hamburger {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1001;
  }
  .navbar-links {
    display: none;
    flex-direction: column;
    width: 100%;
    background-color: #ca0d0d;
  }
  .navbar-links a {
    padding: 12px 16px;
    border-bottom: 1px solid #ccc;
  }
  .navbar-links.active {
    display: flex;
  }
}