/* ===================================================================
   BASE CSS — Seguro con Bootstrap / Bootstrap Studio
   - No sobreescribe variables ni clases de Bootstrap
   - Solo utilidades y fixes (navbar offset, 100svh, anclas, safe-area)
   =================================================================== */

/* 0) Variables y capas controladas (no pisa Bootstrap) */
:root {
  /* Colores mínimos (ajústalos si quieres) */
  --aw-ink: #111;
  --aw-ink-inv: #fff;
  --aw-muted: rgba(0,0,0,.6);

  /* Altura de navbar fija (JS la actualiza). Fallback razonable. */
  --nav-h: 84px;

  /* Viewport seguro en móviles (JS seteará --svh=1% del alto real) */
  --svh: 1vh;

  /* Z-index utilitarios que no chocan con .modal/.offcanvas de BS */
  --z-nav: 1040;    /* < 1050 (modal) para no tapar modales de BS */
  --z-fab: 1030;
  --z-overlay: 1020;
}

/* 1) Normalizaciones mínimas (sin tocar tipografía o márgenes globales) */
img, svg, video, canvas {
  max-width: 100%;
  height: auto;
}

/* 2) Anclas con offset: cualquier ID “anclable” respetará navbar fija */
[id] { scroll-margin-top: calc(var(--nav-h) + 12px); }

/* 3) Utilidad: sección que debe respetar navbar fija (añade data-nav-offset) */
[data-nav-offset] {
  /* NO uso padding-top fijo; JS mete el valor exacto al cargar y al redimensionar */
  min-height: calc(100 * var(--svh) - var(--nav-h));
}

/* 4) Fix 100vh en iOS/Android: utilidades SVH que puedes usar en layouts */
.aw-min-svh-100 { min-height: calc(100 * var(--svh)); }
.aw-h-svh-100   { height:     calc(100 * var(--svh)); }

/* 5) Contenedor ancho máximo seguro (no pisa .container de Bootstrap) */
.aw-container {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: clamp(12px, 4vw, 28px);
}

/* 6) Estados de reducción de movimiento: desactiva animaciones fuertes */
@media (prefers-reduced-motion: reduce) {
  :root { scroll-behavior: auto; }
  * {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* 7) Helpers de z-index (no invaden Bootstrap) */
.aw-z-nav     { z-index: var(--z-nav) !important; }
.aw-z-fab     { z-index: var(--z-fab) !important; }
.aw-z-overlay { z-index: var(--z-overlay) !important; }

/* 8) Botones/links: foco visible (no cambia estilos de BS, solo asegura foco) */
.aw-focus-ring:focus-visible {
  outline: 2px solid rgba(25, 135, 84, .8);
  outline-offset: 2px;
  border-radius: 10px;
}

/* 9) Imagen de fondo cover “estable” (útil para headers) */
.aw-bg-cover {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* 10) Fix de click-through en overlays personalizados */
.aw-overlay {
  position: relative;
}
.aw-overlay > .aw-overlay-layer {
  position: absolute; inset: 0;
  pointer-events: none;
}

/* 11) Utilidad para bloquear scroll cuando abras menús propios (no BS) */
.aw-no-scroll {
  overflow: hidden !important;
  touch-action: none !important;
}

/* 12) Espaciados safe-area (iPhone con notch) */
.aw-safe-top    { padding-top:    env(safe-area-inset-top, 0); }
.aw-safe-bottom { padding-bottom: env(safe-area-inset-bottom, 0); }
.aw-safe-left   { padding-left:   env(safe-area-inset-left, 0); }
.aw-safe-right  { padding-right:  env(safe-area-inset-right, 0); }

