﻿/* ===== ROOT RESETS ===== */
html, body {
  width: 100%;
  height: 100%;

  overflow-x: clip !important;
  overflow-y: auto;
  box-sizing: border-box;
}

body {
  background-color: #000;
  color: #e6ffff;
  font-family: system-ui, sans-serif;
    margin: 0%;
  padding: 1%;
}

/* ===== UNIVERSAL CONSTRAINTS ===== */
* {
  box-sizing: border-box !important;
  max-width: 100vw !important;
}

div, section, article, main {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: clip !important;
}

img, video, canvas {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
}

/* ===== IFRAME CONSOLIDATION ===== */
iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: none;
  border-radius: 4px;
  box-sizing: border-box;
  background: #fff;
  margin: 0;
  padding: 0;
}

iframe[data-src]:not([src]) {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s infinite;
  min-height: 400px;
}

a {
  color: #68b7ff;
  text-decoration: none;
}

/* ===== OVERRIDE EXTERNAL/BOOTSTRAP CLASSES ===== */
.position-fixed {
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  overflow-x: hidden !important;
}

.alert, .alert-primary, .sitewide-alert {
  padding: 1rem !important;
  margin: 0 !important;
  overflow-x: clip !important;
}

.usdoj_overlay, .usdoj-close {
  left: 0 !important;
  right: 0 !important;
  overflow: hidden !important;
}

body > div, button, [class*="grid"], [class*="flex"], [class*="container"], [class*="row"] {
  width: 100% !important;
  overflow-x: clip !important;
}

/* ===== NESTED DIV SAFETY ===== */
div {
  width: 100% !important;
  max-width: 100vw !important;
  overflow-x: clip !important;
}

/* ===== COMPONENT: GRID TOAST ===== */
.grid-toast-card {
  background-color: rgba(255,255,255,0.06);
  border: 1px solid rgba(0,0,0,0.12);
  color: rgba(8,16,32,0.95);
  padding: 10px 12px;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.18);
  font-family: sans-serif;
  margin-top: 8px;
}

/* ===== ANIMATION ===== */
@keyframes loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
