/**
 * Frontend-Styles für Rechtssichere Bildquellen
 * Version: 1.4.0 - Essential Blocks Post Grid Fix
 */

/* Container für Beitragsbild mit Quelle */
.featured-image-with-source {
    position: relative;
    display: inline-block;
    width: 100%;
}

/* Block-Editor spezifische Styles */
.wp-block-post-featured-image,
.wp-block-image,
[class*='eb_'] {
    position: relative;
}

.wp-block-post-featured-image .image-source-attribution,
.wp-block-image .image-source-attribution {
    width: 100%;
}

/* Basis-Styling für alle Bildnachweise */
.image-source-attribution {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    line-height: 1.5;
    margin: 0;
    padding: 8px 12px;
    box-sizing: border-box;
    display: block !important;
    visibility: visible !important;
}

/* Standard-Position: Unter dem Bild */
.image-source-below {
    display: block;
    text-align: right;
    background-color: #f5f5f5;
    color: #666666;
    font-size: 12px;
    border-top: 1px solid #e0e0e0;
}

/* Overlay-Position: Auf dem Bild */
.image-source-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.7);
    color: #ffffff;
    font-size: 11px;
    padding: 6px 10px;
}

/* Für Featured Images mit Overlay */
.featured-image-with-source .image-source-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
}

/* Für Blocks mit Overlay */
.wp-block-post-featured-image .image-source-overlay,
.wp-block-image .image-source-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
}

/* Style-Variante: Minimal */
.image-source-minimal {
    background-color: transparent;
    border: none;
    padding: 4px 0;
    font-size: 11px;
    font-style: italic;
    opacity: 0.8;
}

/* Style-Variante: Box mit Rahmen */
.image-source-box {
    border: 1px solid #d0d0d0;
    border-radius: 4px;
    padding: 10px 14px;
    background-color: #fafafa;
}

/* Links in Bildnachweisen */
.image-source-attribution a {
    text-decoration: none;
    border-bottom: 1px dotted currentColor;
    transition: opacity 0.2s ease;
}

.image-source-attribution a:hover {
    opacity: 0.7;
}

/* Overlay-Links in hellem Text */
.image-source-overlay a {
    color: #ffffff;
    border-bottom-color: rgba(255, 255, 255, 0.5);
}

/* Responsive Anpassungen */
@media (max-width: 768px) {
    .image-source-attribution {
        font-size: 11px;
        padding: 6px 10px;
    }
    
    .image-source-box {
        padding: 8px 12px;
    }
}

/* Sicherstellen, dass die Bildquelle nicht abgeschnitten wird */
.wp-caption .image-source-attribution {
    width: 100%;
}

/* Integration mit WordPress-Standard-Bildunterschriften */
.wp-caption-text + .image-source-attribution {
    margin-top: 5px;
    border-top: none;
}

/* Gutenberg Figcaption Integration */
figcaption + .image-source-attribution {
    margin-top: 5px;
}

/* Print-Styling: Bildquellen müssen auch gedruckt sichtbar sein */
@media print {
    .image-source-attribution {
        background-color: #f5f5f5 !important;
        color: #000000 !important;
        border: 1px solid #cccccc !important;
        page-break-inside: avoid;
    }
    
    .image-source-overlay {
        position: relative !important;
        background-color: #f5f5f5 !important;
        color: #000000 !important;
    }
}

/* Essential Blocks und andere Page Builder */
[class*='eb_'] .image-source-attribution,
[class*='elementor'] .image-source-attribution,
[class*='oxy-'] .image-source-attribution {
    display: block !important;
    visibility: visible !important;
    z-index: 10 !important;
}

/* === SPECTRA (ULTIMATE ADDONS FOR GUTENBERG) === */

/* Spectra Container */
.uagb-block,
[class*='uagb-'] {
    position: relative;
}

/* Spectra Image Blocks */
.uagb-post-image,
.uagb-block-post-image,
.wp-block-uagb-post-image,
.wp-block-uagb-image,
.uagb-image-wrapper {
    position: relative;
}

/* Bildquelle in Spectra Blocks */
.uagb-post-image .image-source-attribution,
.uagb-block-post-image .image-source-attribution,
.wp-block-uagb-post-image .image-source-attribution,
.wp-block-uagb-image .image-source-attribution,
.uagb-image-wrapper .image-source-attribution,
[class*='uagb-'] .image-source-attribution {
    display: block !important;
    visibility: visible !important;
    width: 100%;
    clear: both;
    position: relative !important;
}

/* Spectra spezifische Attribution Klasse */
.image-source-spectra {
    margin-top: 0 !important;
}

/* === ESSENTIAL BLOCKS POST GRID SPEZIFISCH === */

/* EB Post Grid Container */
.eb-post-grid-wrapper,
.eb-post-grid-column,
.eb-post-grid-post {
    position: relative;
}

/* EB Post Grid Featured Image */
.eb-post-grid-wrapper .eb-post-grid-thumbnail,
.eb-post-grid-column .eb-post-grid-thumbnail {
    position: relative;
}

/* Bildquelle im EB Post Grid */
.eb-post-grid-wrapper .image-source-attribution,
.eb-post-grid-column .image-source-attribution,
.eb-post-grid-thumbnail .image-source-attribution,
.image-source-eb-post-grid {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    clear: both !important;
    position: relative !important;
    margin: 0 !important;
}

/* EB Post Grid Featured Image + Bildquelle */
.eb-post-grid-thumbnail img + .image-source-attribution {
    display: block !important;
}

/* EB Post Grid auf der Blog-Seite */
.wp-block-essential-blocks-post-grid .image-source-attribution {
    display: block !important;
    visibility: visible !important;
}

/* WICHTIG: Verstecke Bildquellen im Content/Excerpt Bereich des Post Grids */
.ebpg-entry-wrapper .image-source-attribution,
.ebpg-grid-post-content .image-source-attribution,
.ebpg-entry-content .image-source-attribution {
    display: none !important;
}

/* === ESSENTIAL BLOCKS ERWEITERT === */

/* Essential Blocks Container */
.eb-parent-wrapper,
.eb-post-grid-wrapper,
.eb-post-grid-column,
.eb-container,
[class*='eb-']:not([class*='eb-button']) {
    position: relative;
}

/* Essential Blocks Bildquelle */
.eb-parent-wrapper .image-source-attribution,
.eb-post-grid-wrapper .image-source-attribution,
.eb-post-grid-column .image-source-attribution,
.eb-container .image-source-attribution,
[class*='eb-']:not([class*='eb-button']) .image-source-attribution {
    display: block !important;
    visibility: visible !important;
    width: 100%;
    clear: both;
    position: relative !important;
}

/* Essential Blocks spezifische Attribution Klasse */
.image-source-essential-blocks {
    margin-top: 0 !important;
}

/* === ASTRA THEME SPEZIFISCHE STYLES === */

/* Astra Post Thumbnail Container */
.ast-single-post .post-thumb-img-content,
.ast-article-single .post-thumb-img-content,
.single-post .post-thumb-img-content {
    position: relative;
}

/* Astra Featured Image mit Bildquelle */
.ast-single-post .post-thumb-img-content .featured-image-with-source,
.ast-article-single .post-thumb-img-content .featured-image-with-source,
.ast-blog-single-element .featured-image-with-source {
    display: block;
    width: 100%;
    position: relative;
}

/* Bildquelle im Astra Featured Image Bereich */
.ast-single-post .post-thumb-img-content .image-source-attribution,
.ast-article-single .post-thumb-img-content .image-source-attribution,
.ast-blog-single-element .image-source-attribution {
    display: block !important;
    visibility: visible !important;
    width: 100%;
    box-sizing: border-box;
}

/* Astra Entry Content */
.ast-article-single .entry-content .image-source-attribution,
.ast-single-post .entry-content .image-source-attribution,
.site-content .ast-article-single .image-source-attribution {
    display: block !important;
    visibility: visible !important;
    clear: both;
}

/* Astra Blog/Archive Layouts */
.ast-separate-container .ast-article-single .image-source-attribution,
.ast-separate-container .ast-article-post .image-source-attribution {
    margin-bottom: 0;
}

/* Astra Full Width Layout */
.ast-page-builder-template .image-source-attribution,
.ast-plain-container .image-source-attribution {
    display: block !important;
}

/* Astra Custom Layout Support */
.astra-custom-layout .image-source-attribution {
    display: block !important;
    visibility: visible !important;
}

/* === KOMBINATION: ASTRA + SPECTRA === */
.ast-article-single .uagb-post-image .image-source-attribution,
.ast-single-post .uagb-block .image-source-attribution,
.ast-article-single [class*='uagb-'] .image-source-attribution,
.ast-single-post [class*='uagb-'] .image-source-attribution {
    display: block !important;
    visibility: visible !important;
    clear: both !important;
    width: 100% !important;
}

/* === KOMBINATION: ASTRA + ESSENTIAL BLOCKS === */
.ast-article-single [class*='eb-'] .image-source-attribution,
.ast-single-post [class*='eb-'] .image-source-attribution,
.ast-article-single .eb-parent-wrapper .image-source-attribution,
.ast-single-post .eb-parent-wrapper .image-source-attribution {
    display: block !important;
    visibility: visible !important;
    clear: both !important;
    width: 100% !important;
}

/* === UNIVERSELLER FALLBACK === */
/* Wenn alle Selektoren oben nicht greifen */
img + .image-source-attribution,
figure .image-source-attribution,
picture + .image-source-attribution {
    display: block !important;
    visibility: visible !important;
}



