/*
 * Remplacement statique du compilateur Tailwind chargé depuis cdn.tailwindcss.com.
 *
 * POURQUOI CE FICHIER EXISTE
 * --------------------------
 * Les pages publiques chargeaient `cdn.tailwindcss.com`, qui n'est pas une
 * feuille de style mais le COMPILATEUR Tailwind : environ 400 Ko de JavaScript
 * téléchargés à chaque visite, qui lisent le HTML et fabriquent la CSS dans le
 * navigateur. Tailwind lui-même affiche un avertissement en console pour dire
 * qu'il n'est pas destiné à la production.
 *
 * Relevé du 18/08 sur les vues et composants du front : 64 classes utilitaires
 * utilisées, toutes écrites en dur. Aucune classe Tailwind n'est produite
 * dynamiquement - les liaisons `:class` de Vue n'emploient que des noms maison
 * (`dashboard-nav__pill--active`, `weavy-tile--sel`). La surface est donc figée,
 * et ce fichier la couvre en entier.
 *
 * DaisyUI, chargé lui aussi depuis un CDN dans sa version complète, n'était
 * utilisé par aucune vue ni aucun composant : il a été retiré, pas remplacé.
 *
 * FIDÉLITÉ
 * --------
 * Les valeurs sont celles de Tailwind 3, à l'identique, y compris le preflight
 * ci-dessous. Le but n'est pas de faire mieux, c'est de rendre exactement ce que
 * la page rendait hier, sans dépendre de deux CDN au chargement.
 *
 * Ce fichier est imprimé en pied de page, là où se trouvait le script du CDN :
 * l'ordre dans la cascade est donc conservé, et avec lui les arbitrages face au
 * thème et à Elementor.
 *
 * POUR AJOUTER UNE CLASSE
 * -----------------------
 * Écrire la règle ici. Le compilateur n'est plus là pour la deviner. Le test
 * TailwindStaticCoverageTest relit les vues et échoue si une classe employée
 * n'a pas sa règle.
 */

/* ─────────────────────────────────────────────────────────────────────────────
   1. Preflight - la remise à zéro de Tailwind 3, reproduite fidèlement.
   Elle s'appliquait déjà à ces pages : la retirer changerait les titres, les
   listes et les boutons.
   ───────────────────────────────────────────────────────────────────────────*/

*,
::before,
::after {
    box-sizing: border-box;
    border-width: 0;
    border-style: solid;
    border-color: #e5e7eb;
}

::before,
::after {
    --tw-content: '';
}

html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-feature-settings: normal;
    font-variation-settings: normal;
}

body {
    margin: 0;
    line-height: inherit;
}

hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
}

abbr:where([title]) {
    text-decoration: underline dotted;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
}

a {
    color: inherit;
    text-decoration: inherit;
}

b,
strong {
    font-weight: bolder;
}

code,
kbd,
samp,
pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 1em;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0;
    padding: 0;
}

button,
select {
    text-transform: none;
}

button,
[type='button'],
[type='reset'],
[type='submit'] {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none;
}

:-moz-focusring {
    outline: auto;
}

:-moz-ui-invalid {
    box-shadow: none;
}

progress {
    vertical-align: baseline;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto;
}

[type='search'] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

summary {
    display: list-item;
}

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
    margin: 0;
}

fieldset {
    margin: 0;
    padding: 0;
}

legend {
    padding: 0;
}

ol,
ul,
menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

dialog {
    padding: 0;
}

textarea {
    resize: vertical;
}

input::placeholder,
textarea::placeholder {
    opacity: 1;
    color: #9ca3af;
}

button,
[role="button"] {
    cursor: pointer;
}

:disabled {
    cursor: default;
}

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
    display: block;
    vertical-align: middle;
}

img,
video {
    max-width: 100%;
    height: auto;
}

[hidden] {
    display: none;
}

/* ─────────────────────────────────────────────────────────────────────────────
   2. Les 64 utilitaires réellement employés.
   ───────────────────────────────────────────────────────────────────────────*/

/* Affichage et position */
.block { display: block; }
.inline-block { display: inline-block; }
.flex { display: flex; }
.relative { position: relative; }
.fixed { position: fixed; }
.z-50 { z-index: 50; }

/* Alignement */
.items-center { align-items: center; }
.justify-center { justify-content: center; }

/* Dimensions */
.w-4 { width: 1rem; }
.w-8 { width: 2rem; }
.w-full { width: 100%; }
.h-4 { height: 1rem; }
.h-8 { height: 2rem; }
.min-h-screen { min-height: 100vh; }

/* Marges intérieures */
.p-6 { padding: 1.5rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.pb-24 { padding-bottom: 6rem; }

/* Marges extérieures */
.mt-1 { margin-top: 0.25rem; }
.mt-4 { margin-top: 1rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-8 { margin-bottom: 2rem; }
.ml-2 { margin-left: 0.5rem; }

/* Typographie */
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-center { text-align: center; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.underline { text-decoration-line: underline; }

/* Couleurs de texte */
.text-white { color: #fff; }
.text-gray-500 { color: #6b7280; }
.text-gray-600 { color: #4b5563; }
.text-gray-900 { color: #111827; }
.text-purple-600 { color: #9333ea; }
.text-red-500 { color: #ef4444; }

/* Couleurs de fond */
.bg-black { background-color: #000; }
.bg-white { background-color: #fff; }
.bg-gray-100 { background-color: #f3f4f6; }

/* Bordures */
.border-none { border-style: none; }
.border-t-2 { border-top-width: 2px; }
.border-b-2 { border-bottom-width: 2px; }
.border-gray-300 { border-color: #d1d5db; }
.border-purple-600 { border-color: #9333ea; }
.rounded { border-radius: 0.25rem; }
.rounded-lg { border-radius: 0.5rem; }
.rounded-full { border-radius: 9999px; }

/* Ombres */
.shadow-md {
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

/* Transitions */
.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.duration-200 { transition-duration: 200ms; }

/* États */
.hover\:bg-gray-800:hover { background-color: #1f2937; }

/* `ring-purple-500` seul ne dessine aucun contour : Tailwind ne le rend visible
   qu'accompagné d'une épaisseur (`ring-2`, absente ici). La variable est posée
   telle quelle, pour rendre exactement ce que la page rendait avec le CDN. */
.focus\:ring-purple-500:focus { --tw-ring-color: #a855f7; }

/* ─────────────────────────────────────────────────────────────────────────────
   3. Variantes responsives. Points de rupture de Tailwind 3.
   ───────────────────────────────────────────────────────────────────────────*/

@media (min-width: 640px) {
    .sm\:px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
    .sm\:py-12 { padding-top: 3rem; padding-bottom: 3rem; }
    .sm\:pb-12 { padding-bottom: 3rem; }
}

@media (min-width: 768px) {
    .md\:p-8 { padding: 2rem; }
    .md\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
}

@media (min-width: 1024px) {
    .lg\:px-8 { padding-left: 2rem; padding-right: 2rem; }
    .lg\:pb-12 { padding-bottom: 3rem; }
}
