/*
 * Preciosa BYM - Styles personnalisés
 * TailwindCSS est chargé via CDN dans head.html
 */

/* Base */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}

::selection {
  background-color: rgba(176, 141, 87, 0.2);
  color: inherit;
}

/* Prose - contenu articles */
.prose { max-width: 65ch; }
.prose h2 { margin-top: 2.5rem; margin-bottom: 1rem; font-weight: 500; }
.prose h3 { margin-top: 2rem; margin-bottom: 0.75rem; font-weight: 500; }
.prose p { margin-bottom: 1.25rem; }
.prose ul, .prose ol { margin-bottom: 1.25rem; padding-left: 1.5rem; }
.prose li { margin-bottom: 0.5rem; }
.prose blockquote { border-left-width: 2px; padding-left: 1.5rem; margin: 2rem 0; font-style: italic; }
.prose img { border-radius: 0.5rem; }

/* Line clamp */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Accessibilité */
a:focus-visible, button:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* Transitions */
a, button { transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; }

/* Print */
@media print {
  header, footer, nav { display: none !important; }
  .prose { max-width: 100%; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 0.8em; color: #666; }
}

/* Tables */
.prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-size: 0.9375rem;
  overflow-x: auto;
  display: block;
}
.prose thead {
  border-bottom: 2px solid #d1d5db;
}
.prose th {
  padding: 0.75rem 1rem;
  text-align: left;
  font-weight: 600;
  color: #111827;
  background: #f9fafb;
  white-space: nowrap;
}
.prose td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #e5e7eb;
  color: #374151;
}
.prose tbody tr:hover {
  background: #f9fafb;
}
@media (max-width: 640px) {
  .prose th, .prose td {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
  }
}
