/* Composants partagés (complètent les utilitaires Tailwind). */
.nav-link { color: #44403c; font-weight: 500; }
.nav-link:hover { color: #e11d48; }
.btn { display: inline-flex; align-items: center; gap: .4rem; border-radius: .5rem; padding: .45rem .9rem; font-weight: 600; font-size: .9rem; cursor: pointer; }
.btn-primary { background: #e11d48; color: #fff; }
.btn-primary:hover { background: #be123c; }
.btn-ghost { background: #f5f5f4; color: #44403c; }
.btn-ghost:hover { background: #e7e5e4; }
.prose-sm p { margin-bottom: .6rem; }
.prose-sm ul { list-style: disc; padding-left: 1.2rem; margin-bottom: .6rem; }

.form input[type=text], .form input[type=search], .form input[type=email], .form input[type=password],
.form input[type=number], .form select {
    width: 100%; border: 1px solid #d6d3d1; border-radius: .5rem; padding: .45rem .65rem; background: #fff;
}
.form input:focus, .form select:focus { outline: 2px solid #fda4af; border-color: #e11d48; }
.form label { font-size: .85rem; font-weight: 600; color: #57534e; }
.form fieldset > div, .form ul.checks { display: flex; flex-wrap: wrap; gap: .35rem .9rem; }
.form fieldset label, .form .checks label { font-weight: 400; display: inline-flex; gap: .3rem; align-items: center; }
.form .errorlist { color: #b91c1c; font-size: .85rem; }

/* Formulaires allauth */
.auth-box p { margin-bottom: .9rem; }
.auth-box label { display: block; margin-bottom: .2rem; }
.auth-box button[type=submit] { background: #e11d48; color: #fff; border-radius: .5rem; padding: .5rem 1rem; font-weight: 600; }
.auth-box h1 { font-size: 1.5rem; font-weight: 800; margin-bottom: 1rem; }
.auth-box a { color: #e11d48; }
