/**
 * DigitalShop Tailwind CSS Fixes
 *
 * Diese Datei enthält die fehlenden Tailwind-Klassen, die in der
 * kompilierten tailwind.min.css nicht enthalten sind.
 */

/* Primary Colors */
.bg-primary-50 { background-color: #eff6ff; }
.bg-primary-100 { background-color: #dbeafe; }
.bg-primary-200 { background-color: #bfdbfe; }
.bg-primary-600 { background-color: #0056b3; }
.bg-primary-700 { background-color: #004494; }

.text-primary-600 { color: #0056b3; }
.text-primary-700 { color: #1e40af; }

.border-primary-200 { border-color: #bfdbfe; }
.border-primary-600 { border-color: #0056b3; }

/* Secondary Colors */
.bg-secondary-100 { background-color: #e9ecef; }
.bg-secondary-200 { background-color: #dee2e6; }
.text-secondary-400 { color: #adb5bd; }
.text-secondary-500 { color: #6c757d; }
.text-secondary-600 { color: #495057; }
.text-secondary-700 { color: #343a40; }
.text-secondary-800 { color: #212529; }
.border-secondary-100 { border-color: #e9ecef; }
.border-secondary-200 { border-color: #dee2e6; }

/* Success Colors */
.bg-success-100 { background-color: #dcfce7; }
.text-success-500 { color: #22c55e; }
.text-success-600 { color: #16a34a; }
.text-success-700 { color: #166534; }

/* Hover States */
.hover\:bg-primary-700:hover { background-color: #004494; }
.hover\:bg-primary-600:hover { background-color: #0056b3; }
.hover\:text-primary-600:hover { color: #0056b3; }
.hover\:shadow-primary:hover { box-shadow: 0 4px 14px 0 rgba(0, 86, 179, 0.15); }
.hover\:-translate-y-1:hover { transform: translateY(-0.25rem); }

/* Gradient Backgrounds */
.bg-gradient-to-br { background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)); }
.from-primary-50 { --tw-gradient-from: #eff6ff; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(239, 246, 255, 0)); }
.to-white { --tw-gradient-to: #ffffff; }
.bg-gradient-to-b { background-image: linear-gradient(to bottom, var(--tw-gradient-stops)); }
.from-gray-50 { --tw-gradient-from: #f9fafb; --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(249, 250, 251, 0)); }

/* Additional utility classes */
.rounded-xl { border-radius: 0.75rem; }
.rounded-2xl { border-radius: 1rem; }
.rounded-full { border-radius: 9999px; }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); }
.shadow-primary { box-shadow: 0 4px 14px 0 rgba(0, 86, 179, 0.15); }
.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; }
.transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }

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

/* Grid utilities */
.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* Responsive grid */
@media (min-width: 640px) {
  .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* Product detail: 7+5 Spalten-Layout */
  .lg\:col-span-5 { grid-column: span 5 / span 5; }
  .lg\:col-span-7 { grid-column: span 7 / span 7; }
  .lg\:col-span-12 { grid-column: span 12 / span 12; }
  /* Sticky purchase box */
  .lg\:top-6 { top: 1.5rem; }
}

/* Min height */
.min-h-\[3rem\] { min-height: 3rem; }

/* Object fit */
.object-contain { object-fit: contain; }

/* Opacity with black backgrounds (Lightbox) */
.bg-black\/80 { background-color: rgb(0 0 0 / 0.8); }
.bg-black\/10 { background-color: rgb(0 0 0 / 0.1); }

/* Prose / Typography (product description) */
.prose { color: #374151; max-width: 65ch; }
.prose :where(h3):not(:where([class~="not-prose"] *)) { color: #111827; font-size: 1.25rem; font-weight: 600; line-height: 1.6; margin-top: 1.6em; margin-bottom: 0.6em; }
.prose :where(h4):not(:where([class~="not-prose"] *)) { color: #111827; font-size: 1rem; font-weight: 600; line-height: 1.5; margin-top: 1.5em; margin-bottom: 0.5em; }
.prose :where(p):not(:where([class~="not-prose"] *)) { margin-top: 1.25em; margin-bottom: 1.25em; }
.prose :where(ul):not(:where([class~="not-prose"] *)) { list-style-type: disc; margin-top: 1.25em; margin-bottom: 1.25em; padding-left: 1.625em; }
.prose :where(ol):not(:where([class~="not-prose"] *)) { list-style-type: decimal; margin-top: 1.25em; margin-bottom: 1.25em; padding-left: 1.625em; }
.prose :where(li):not(:where([class~="not-prose"] *)) { margin-top: 0.5em; margin-bottom: 0.5em; }
.prose :where(strong):not(:where([class~="not-prose"] *)) { font-weight: 600; color: #111827; }
.prose :where(a):not(:where([class~="not-prose"] *)) { color: #c5a168; text-decoration: underline; font-weight: 500; }
.prose :where(hr):not(:where([class~="not-prose"] *)) { border-color: #e5e7eb; border-top-width: 1px; margin-top: 3em; margin-bottom: 3em; }
.prose-sm { font-size: 0.875rem; line-height: 1.7142857; }
