/* ============================================
   BATIA - CSS AMELIORATIONS v1.0
   Fichier: batia-improvements.css
   A inclure dans <head> de index.html :
   <link rel="stylesheet" href="batia-improvements.css">
   ============================================ */

/* Skip Link */
.skip-link {
  position: absolute;
  top: -100%;
  left: 50%;
  transform: translateX(-50%);
  background: #d4a574;
  color: #1e1e22;
  padding: 0.75rem 1.5rem;
  z-index: 100000;
  font-weight: 700;
  border-radius: 0 0 8px 8px;
  transition: top 0.2s;
  text-decoration: none;
  font-family: inherit;
}
.skip-link:focus {
  top: 0;
}

/* Screen Reader Only */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .aurora, .noise, #neural-canvas, .scroll-progress {
    display: none !important;
  }
}

/* Print Styles */
@media print {
  body { background: #fff !important; color: #000 !important; }
  * { color: #000 !important; background: transparent !important; box-shadow: none !important; text-shadow: none !important; }
  nav, .aurora, .noise, #neural-canvas, .scroll-progress, .theme-switch,
  .neogen-trigger, .neogen-chat, #scroll-to-top, .hero-terminal, .hero-map,
  .module-modal, .skip-link, #loader, footer { display: none !important; }
  main { display: block !important; }
  a[href]:after { content: " (" attr(href) ")"; font-size: 0.8em; color: #555 !important; }
  a[href^="#"]:after, a[href^="javascript"]:after, a[href^="tel"]:after { content: "" !important; }
  h1, h2, h3 { page-break-after: avoid; }
  img { max-width: 100% !important; }
  .hero { min-height: auto !important; padding: 2rem 0 !important; }
  section { page-break-inside: avoid; padding: 1rem 0 !important; }
}

/* Manifeste Section Mobile Fix */
@media (max-width: 768px) {
  .vision-container {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }
  .vision-grid {
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
    height: auto !important;
  }
  .vision-menu {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    gap: 0 !important;
    padding-bottom: 8px !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .vision-content {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
    padding: 16px !important;
  }
  .vision-visual {
    display: none !important;
  }
  .vision-content p,
  .vision-content h3 {
    overflow: visible !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
}

/* Form Enhancements */
#contact form input[name="nom"],
#contact form input[name="societe"],
#contact form input[name="telephone"],
#contact form textarea[name="message"] {
  width: 100%;
  padding: 14px 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  color: #e8e8ec;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-family: inherit;
  outline: none;
  transition: border-color 0.3s;
  box-sizing: border-box;
}
#contact form input[name="nom"]:focus,
#contact form input[name="societe"]:focus,
#contact form input[name="telephone"]:focus,
#contact form textarea[name="message"]:focus {
  border-color: rgba(212,165,116,0.5);
}
#contact form textarea[name="message"] {
  resize: vertical;
  min-height: 80px;
  text-transform: none;
  letter-spacing: 0.02em;
  font-size: 0.85rem;
}
#contact form input::placeholder,
#contact form textarea::placeholder {
  color: rgba(160,160,168,0.5);
}