/* Rebuild Check — Hilfsklassen für die Anmelde- und Registrierungsseiten.
 *
 * Ersetzt <script src="cdn.tailwindcss.com">. Der CDN-Build ist laut
 * Tailwind selbst nicht für Produktion gedacht (er übersetzt das CSS bei
 * jedem Aufruf im Browser) und überträgt nebenbei die IP jedes Besuchers
 * an einen Dritten — auf ausgerechnet der ersten Seite, die ein Neukunde
 * sieht.
 *
 * Enthalten ist genau der Satz Klassen, den layouts/guest.blade.php, die
 * Ansichten unter auth/ und die dort genutzten Breeze-Komponenten
 * verwenden. Kommt eine neue Klasse dazu, gehört sie hierher — es gibt
 * bewusst keinen Build-Schritt, weil auf dem Zielserver kein npm läuft.
 */

/* Grundlagen */
.antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.block { display: block; }
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-between { justify-content: space-between; }
.justify-end { justify-content: flex-end; }
.justify-center { justify-content: center; }
.text-center { text-align: center; }
.min-h-screen { min-height: 100vh; }
.w-full { width: 100%; }

/* Abstände */
.gap-2 { gap: .5rem; }
.gap-4 { gap: 1rem; }
.mb-1 { margin-bottom: .25rem; }
.mb-2 { margin-bottom: .5rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mt-1 { margin-top: .25rem; }
.mt-2 { margin-top: .5rem; }
.mt-4 { margin-top: 1rem; }
.mt-6 { margin-top: 1.5rem; }
.p-4 { padding: 1rem; }
.pt-10 { padding-top: 2.5rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-8 { padding-left: 2rem; padding-right: 2rem; }
.py-8 { padding-top: 2rem; padding-bottom: 2rem; }
.space-y-4 > * + * { margin-top: 1rem; }

/* Schrift */
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.text-xs { font-size: .75rem; line-height: 1rem; }
.text-sm { font-size: .875rem; line-height: 1.25rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.underline { text-decoration: underline; }
.uppercase { text-transform: uppercase; }
.tracking-widest { letter-spacing: .1em; }

/* Farben — auf die Design-Tokens gemappt statt auf Tailwinds Palette.
   text-gray-600 lag bei #4B5563 und damit neben der Marke; --rc-muted
   erfüllt auf den öffentlichen Seiten zugleich den Kontrastwert. */
.text-gray-600 { color: var(--rc-muted); }
.text-gray-700 { color: var(--rc-ink); }
.text-green-600 { color: var(--rc-accent); }
.text-white { color: #fff; }
.hover\:text-gray-900:hover { color: var(--rc-ink); }
.hover\:underline:hover { text-decoration: underline; }

/* Ecken */
.rounded { border-radius: .25rem; }
.rounded-md { border-radius: .375rem; }
.rounded-lg { border-radius: .5rem; }

/* Fokus — Tailwinds Indigo war markenfremd; hier das Rebuild-Grün. */
.focus\:outline-none:focus { outline: none; }
.focus\:ring-2:focus,
.focus\:ring-indigo-500:focus {
    outline: none;
    box-shadow: 0 0 0 3px var(--rc-accent-soft);
    border-color: var(--rc-accent);
}
.focus\:ring-offset-2:focus { /* im Schatten oben bereits berücksichtigt */ }

/* Reste aus den Breeze-Komponenten */
.border-gray-300 { border: 1px solid var(--rc-line); }
.border-transparent { border-color: transparent; }
.shadow-sm { box-shadow: 0 1px 2px rgba(20, 23, 26, .05); }
.transition { transition: all .15s ease-in-out; }

/* Ab Tablet zentriert und in fester Breite — entspricht sm: bei Tailwind */
@media (min-width: 640px) {
    .sm\:justify-center { justify-content: center; }
    .sm\:pt-0 { padding-top: 0; }
    .sm\:max-w-md { max-width: 28rem; }
}
