/* RedAI-Web – layout (body, layout-root, main, container) */
/* Sticky footer: #layout-root tiene altura mínima de viewport y flex; .page-wrapper crece y el footer queda abajo */

html {
  margin: 0;
  height: 100%;
}

body.neo, body {
  margin: 0;
  min-height: 100%;
  background: radial-gradient(1200px 800px at 10% -10%, var(--neo-glow1), transparent 60%),
    radial-gradient(1000px 700px at 110% 20%, var(--neo-glow2), transparent 50%), var(--neo-bg);
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--neo-text);
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* Aplicar background-attachment: fixed SOLO en desktop */
@media (min-width: 1024px) {
  body.neo, body {
    background-attachment: fixed;
  }
}

/* Contenedor principal: ocupa al menos toda la ventana y reparte el espacio en columna */
#layout-root.layout-root {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
}

/* Zona de contenido + footer: crece para llenar el hueco bajo el header */
.page-wrapper {
  flex: 1 1 0%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Main ocupa el espacio disponible; el footer va después con margin-top: auto */
.main-content {
  flex: 1 1 0%;
  min-height: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1rem;
  width: 100%;
}

@import '../responsive/breakpoints.css';
@import '../responsive/mobile.css';
