/* ====== GLOBAL ANTI-OVERFLOW ====== */
html, body { overflow-x: hidden; }
.btn-dwnl {
	background-color: var(--main);
    border-color: var(--main);
}
.navbar-light .navbar-toggler {width:auto}
/* tighter spacing for the action buttons on mobile */
@media (max-width: 991.98px) {
  .navbar .btn { width: 100%; margin: 5px 0; }
  .navbar .nav-item + .nav-item { margin-left: 0 !important; }
}
@media (min-width: 992px) {
    .navbar-expand-lg .navbar-nav {
        align-items: center;
    }
}
/* ====== GRID FIXES ====== */
/* If somewhere remains ml-3 on columns, neutralize it on mobile */
@media (max-width: 991.98px) {
  .row > [class*="col-"].ml-3 { margin-left: 0 !important; }
}

/* Safety: any .col-5 next to another .col-5 with extra margin
   could overflow on very small screens — stack them */
@media (max-width: 767.98px) {
  [class^="col-"][class*="col-5"] { flex: 0 0 100%; max-width: 100%; }
}

/* ====== UTIL ====== */
.page-wrap { padding-top: 70px; } /* compensate fixed-top navbar height */
.video-wrap { position: relative; padding-top: 56.25%; /* 16:9 */ }
.video-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; }

/* Optional: nicer spacing for sections */
.titleSection { line-height: 1.25; }

/* If any buttons had position: fixed in main.css (.buy/.temp), disable on mobile */
@media (max-width: 575.98px) {
  .buy, .temp { right: 15px !important; left: 15px !important; padding: 10px !important; }
}

/* Contact form */
form {background: #fff;padding: 20px 30px;border-radius: 10px;box-shadow: 0 0 10px rgba(0,0,0,0.1);}   
input, textarea {width: 100%;padding: 10px;margin-bottom: 15px;border: 1px solid #ccc;border-radius: 5px;font-size: 14px;}
button {width: 100%;padding: 10px;background: #17a2b8;color: white;border: none;border-radius: 5px;font-size: 16px;cursor: pointer;}
button:hover {background: #138496;}
.success, .error {text-align: center;margin-top: 10px;font-size: 14px;}
.success { color: green; }
.error { color: red; }