/*
 * Kompiliertes Tailwind-Stylesheet (statischer Auszug) für das
 * Glasgeländer Balkon Shop Block-Theme.
 *
 * Enthält ausschließlich die Utility-Klassen, die im Theme (theme.json,
 * templates/, parts/) tatsächlich verwendet werden – kein Laufzeit-Build,
 * kein CDN-Script. Wer den vollen Tailwind-Utility-Katalog braucht, kann
 * diese Datei durch einen eigenen Build (tailwindcss -i ... -o ...) ersetzen,
 * ohne die Theme-Struktur ändern zu müssen.
 */

/* Layout & Flexbox */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-start { align-items: flex-start; }
.items-center { align-items: center; }
.items-end { align-items: flex-end; }
.items-baseline { align-items: baseline; }
.justify-between { justify-content: space-between; }
.gap-1 { gap: 4px; }
.gap-1\.5 { gap: 6px; }
.gap-2 { gap: 8px; }
.gap-2\.5 { gap: 10px; }
.gap-3\.5 { gap: 14px; }
.gap-4 { gap: 16px; }
.gap-6 { gap: 24px; }
.gap-8 { gap: 32px; }
.gap-10 { gap: 40px; }
.flex-wrap { flex-wrap: wrap; }
.relative { position: relative; }
.overflow-hidden { overflow: hidden; }
.block { display: block; }
.whitespace-nowrap { white-space: nowrap; }

/* Grid */
.grid { display: grid; }
.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)); }
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gap-px { gap: 1px; }

/* Spacing */
.p-0 { padding: 0; }
.m-0 { margin: 0; }
.mt-1\.5 { margin-top: 6px; }
.mt-6 { margin-top: 24px; }
.mt-12 { margin-top: 48px; }
.mb-7 { margin-bottom: 28px; }
.mb-9 { margin-bottom: 36px; }
.px-6 { padding-left: 24px; padding-right: 24px; }
.px-7 { padding-left: 28px; padding-right: 28px; }
.px-8 { padding-left: 32px; padding-right: 32px; }
.px-14 { padding-left: 56px; padding-right: 56px; }
.py-4 { padding-top: 16px; padding-bottom: 16px; }
.py-6 { padding-top: 24px; padding-bottom: 24px; }
.py-16 { padding-top: 64px; padding-bottom: 64px; }
.py-20 { padding-top: 80px; padding-bottom: 80px; }
.pt-16 { padding-top: 64px; }
.pt-6 { padding-top: 24px; }
.pt-10 { padding-top: 40px; }
.pb-8 { padding-bottom: 32px; }
.pb-10 { padding-bottom: 40px; }
.pb-14 { padding-bottom: 56px; }

/* Größen */
.min-h-\[300px\] { min-height: 300px; }
.min-h-\[360px\] { min-height: 360px; }
.min-h-\[480px\] { min-height: 480px; }
.min-h-\[560px\] { min-height: 560px; }
.h-\[290px\] { height: 290px; }
.w-full { width: 100%; }
.h-full { height: 100%; }
.max-w-\[400px\] { max-width: 400px; }
.max-w-\[420px\] { max-width: 420px; }
.max-w-\[430px\] { max-width: 430px; }

/* Typografie */
.italic { font-style: italic; }
.uppercase { text-transform: uppercase; }
.tracking-wide { letter-spacing: 0.08em; }
.tracking-widest { letter-spacing: 0.16em; }
.leading-tight { line-height: 1.1; }
.leading-relaxed { line-height: 1.65; }
.text-left { text-align: left; }
.text-center { text-align: center; }

.font-mono { font-family: "IBM Plex Mono", monospace; }
.font-serif { font-family: "Instrument Serif", serif; }

.text-xs { font-size: 12px; }
.text-sm { font-size: 14px; }
.text-\[13px\] { font-size: 13px; }
.text-\[15px\] { font-size: 15px; }
.text-\[17px\] { font-size: 17px; }
.text-xl { font-size: 21px; }
.text-\[22px\] { font-size: 22px; }
.text-3xl { font-size: 32px; }
.text-4xl { font-size: 36px; }
.text-\[34px\] { font-size: 34px; }
.text-\[42px\] { font-size: 42px; }

/* Farben (an theme.json-Palette angelehnt) */
.bg-cream { background-color: #F7F5F0; }
.bg-ink { background-color: #14171A; }
.bg-card { background-color: #EFEDE7; }
.bg-line { background-color: #E2DFD7; }

.text-ink { color: #14171A; }
.text-cream { color: #F7F5F0; }
.text-muted { color: #8A867C; }
.text-body { color: #4A4A44; }
.text-sage { color: #4A5F58; }
.text-subtle { color: #66665E; }
.text-on-dark-muted { color: #A9A79F; }

.border-line { border-color: #E2DFD7; }
.border-ink { border-color: #14171A; }
.border { border-width: 1px; border-style: solid; }
.border-t { border-top-width: 1px; border-top-style: solid; }
.border-b { border-bottom-width: 1px; border-bottom-style: solid; }
.border-r { border-right-width: 1px; border-right-style: solid; }
.rounded-sm { border-radius: 2px; }

/* Bild-Objekte */
.object-cover { object-fit: cover; }
.absolute { position: absolute; }
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }

/* Komponenten-spezifische Feinheiten */
.hero-block .wp-block-column:first-child { border-right: 1px solid #E2DFD7; }
.hero-image-col img,
.detail-image-col img,
.product-image img { width: 100%; height: 100%; object-fit: cover; }

/* Responsive: Desktop-Ansicht ab 768px, darunter stapeln Spalten automatisch (Core-Verhalten) */
@media (min-width: 768px) {
	.md\:px-14 { padding-left: 56px; padding-right: 56px; }
	.md\:pt-22 { padding-top: 88px; }
	.md\:py-16 { padding-top: 64px; padding-bottom: 64px; }
	.md\:py-20 { padding-top: 80px; padding-bottom: 80px; }
	.md\:min-h-\[480px\] { min-height: 480px; }
	.md\:min-h-\[560px\] { min-height: 560px; }
	.md\:text-\[74px\] { font-size: 74px; }
	.md\:text-\[42px\] { font-size: 42px; }
	.md\:text-4xl { font-size: 36px; }
}
