/* ============================================================= VITEC Backend Preview Styles Wird über in den Content Blocks eingebunden ============================================================= */ .vitec-preview { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; padding: 0.75rem; border-left: 4px solid var(--vitec-accent, #F47937); background: var(--typo3-state-default-bg, #f8f9fa); border-radius: 4px; align-items: start; font-size: 0.875rem; line-height: 1.4; } .vitec-preview--orange { border-left-color: #F47937; } .vitec-preview--blue { border-left-color: #26358C; } .vitec-preview--graphite { border-left-color: #313131; } .vitec-preview--midnight { border-left-color: #0D0D0D; } .vitec-preview--light { border-left-color: #cccccc; } /* Thumbnail-Slot */ .vitec-preview__thumb { width: 120px; height: 80px; object-fit: cover; border-radius: 3px; background: #e5e5e5; flex-shrink: 0; } .vitec-preview__thumb-placeholder { width: 120px; height: 80px; display: flex; align-items: center; justify-content: center; background: repeating-linear-gradient( 45deg, #e5e5e5, #e5e5e5 8px, #f0f0f0 8px, #f0f0f0 16px ); color: #999; font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.05em; border-radius: 3px; flex-shrink: 0; } /* Content-Slot */ .vitec-preview__body { min-width: 0; overflow-wrap: anywhere; word-break: break-word; } .vitec-preview__label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.08em; color: #666; font-weight: 600; margin-bottom: 0.35rem; } .vitec-preview__eyebrow { font-size: 0.7rem; color: #F47937; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.15rem; } .vitec-preview__headline { font-size: 1rem; font-weight: 600; margin: 0 0 0.2rem 0; color: var(--typo3-text-color, #333); } .vitec-preview__subline { font-size: 0.85rem; color: #666; margin-bottom: 0.35rem; } .vitec-preview__body-text { font-size: 0.8rem; color: #555; margin-bottom: 0.5rem; max-height: 2.6em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; } /* Settings-Slot (Badges) */ .vitec-preview__settings { display: flex; flex-direction: column; gap: 0.25rem; align-items: flex-end; min-width: 80px; } .vitec-badge { display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.15rem 0.5rem; font-size: 0.7rem; background: rgba(0,0,0,0.06); border-radius: 3px; color: #444; white-space: nowrap; } .vitec-badge--primary { background: #F47937; color: white; } .vitec-badge--secondary { background: transparent; border: 1px solid #F47937; color: #F47937; } .vitec-badge--warning { background: #fef3c7; color: #92400e; } .vitec-badge__dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; } .vitec-badge__dot--orange { background: #F47937; } .vitec-badge__dot--blue { background: #26358C; } .vitec-badge__dot--graphite { background: #313131; } .vitec-badge__dot--midnight { background: #0D0D0D; } .vitec-badge__dot--light { background: #cccccc; border: 1px solid #999; } /* CTA-Leiste */ .vitec-preview__ctas { display: flex; gap: 0.4rem; margin-top: 0.4rem; flex-wrap: wrap; } .vitec-preview__cta-btn { display: inline-block; padding: 0.15rem 0.6rem; background: #F47937; color: white !important; font-size: 0.75rem; border-radius: 3px; text-decoration: none; } .vitec-preview__cta-btn--secondary { background: transparent; color: #F47937 !important; border: 1px solid #F47937; } /* Dark Mode Support */ @media (prefers-color-scheme: dark) { .vitec-preview { background: rgba(255,255,255,0.04); } .vitec-preview__headline { color: #eee; } .vitec-preview__subline, .vitec-preview__body-text { color: #bbb; } .vitec-badge { background: rgba(255,255,255,0.08); color: #ddd; } } /* Responsive Fallback */ @media (max-width: 900px) { .vitec-preview { grid-template-columns: 1fr; } .vitec-preview__settings { flex-direction: row; align-items: flex-start; flex-wrap: wrap; } } /* Small monitors: drop the body text — label, headline and badges stay. */ @media (max-width: 1400px) { .vitec-preview__body-text { display: none; } } /* Real fix: react to the PREVIEW COLUMN width, not the monitor width. The page-module body of a CE containing a vitec preview becomes a size container (e.g. inside narrow b13 container columns). */ .t3-page-ce-body:has(.vitec-preview) { container-type: inline-size; } /* Narrow column: stack the grid, drop the body text, badges in a row. */ @container (max-width: 700px) { .vitec-preview { grid-template-columns: 1fr; } .vitec-preview__body-text { display: none; } .vitec-preview__settings { flex-direction: row; align-items: flex-start; flex-wrap: wrap; } .vitec-preview__thumb, .vitec-preview__thumb-placeholder { max-width: 100%; height: auto; } } /* Very narrow column: only label, headline and badges survive. */ @container (max-width: 420px) { .vitec-preview__subline { display: none; } }