.blindingpic { position: relative; overflow: hidden; display: block; margin: 0 0 1.5rem; border-radius: 18px; }
.blindingpic img { width: 100%; height: auto; display: block; }
.blindingpic .bp-ribbon { position: absolute; z-index: 2; background: var(--bp-bg); color: var(--bp-color); opacity: var(--bp-opacity); border-radius: var(--bp-radius); padding: var(--bp-padding); max-width: 78%; box-sizing: border-box; box-shadow: 0 16px 35px rgba(0,0,0,.25); line-height: 1.18; }
.blindingpic .bp-ribbon strong { display: block; font-size: var(--bp-font); font-weight: 800; }
.blindingpic .bp-ribbon small { display: block; margin-top: 6px; font-size: max(13px, calc(var(--bp-font) * .52)); opacity: .92; }
.blindingpic.bp-layout-bottom_left .bp-ribbon { left: 28px; bottom: 28px; }
.blindingpic.bp-layout-bottom_right .bp-ribbon { right: 28px; bottom: 28px; text-align: right; }
.blindingpic.bp-layout-top_left .bp-ribbon { left: 28px; top: 28px; }
.blindingpic.bp-layout-top_right .bp-ribbon { right: 28px; top: 28px; text-align: right; }
.blindingpic.bp-layout-bar_bottom .bp-ribbon { left: 0; right: 0; bottom: 0; max-width: none; border-radius: 0 !important; text-align: center; }
.blindingpic.bp-layout-bar_top .bp-ribbon { left: 0; right: 0; top: 0; max-width: none; border-radius: 0 !important; text-align: center; }
.blindingpic.bp-layout-center .bp-ribbon { left: 50%; top: 50%; transform: translate(-50%, -50%); text-align: center; }
.blindingpic.bp-layout-diagonal .bp-ribbon { left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-12deg); text-align: center; min-width: 70%; }
.blindingpic .bp-corner-ribbon { position:absolute; z-index:3; width:190px; text-align:center; padding:9px 0; font-weight:900; letter-spacing:.08em; text-transform:uppercase; box-shadow:0 10px 24px rgba(0,0,0,.24); line-height:1; background:var(--bp-corner-bg); color:var(--bp-corner-color); font-size:var(--bp-corner-size); }
.blindingpic.bp-corner-top_right .bp-corner-ribbon { top:24px; right:-54px; transform:rotate(45deg); }
.blindingpic.bp-corner-top_left .bp-corner-ribbon { top:24px; left:-54px; transform:rotate(-45deg); }
.blindingpic.bp-corner-bottom_right .bp-corner-ribbon { bottom:24px; right:-54px; transform:rotate(-45deg); }
.blindingpic.bp-corner-bottom_left .bp-corner-ribbon { bottom:24px; left:-54px; transform:rotate(45deg); }
.blindingpic .bp-filter-none { filter: none; }
.blindingpic .bp-filter-grayscale { filter: grayscale(100%); }
.blindingpic .bp-filter-sepia { filter: sepia(85%); }
.blindingpic .bp-filter-dark { filter: brightness(62%); }
.blindingpic .bp-filter-bright { filter: brightness(118%); }
.blindingpic .bp-filter-contrast { filter: contrast(145%); }
.blindingpic .bp-filter-blur { filter: blur(2px); }
@media (max-width: 640px) { .blindingpic .bp-ribbon { left: 14px !important; right: 14px !important; bottom: 14px !important; top: auto !important; max-width: none; transform: none !important; text-align: left !important; } .blindingpic .bp-ribbon strong { font-size: clamp(18px, 6vw, var(--bp-font)); } .blindingpic .bp-corner-ribbon { width:160px; font-size:12px; } }
.blindingpic .bp-link-cta { position: relative; z-index: 4; display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin-top: 12px; padding: var(--bp-link-padding-y) var(--bp-link-padding-x); border-radius: var(--bp-link-radius); background: var(--bp-link-bg); color: var(--bp-link-color); font-size: var(--bp-link-font); font-weight: 800; text-decoration: none; box-shadow: 0 12px 28px rgba(0,0,0,.18); transition: transform .18s ease, box-shadow .18s ease; }
.blindingpic .bp-link-cta:hover { transform: translateY(-1px); box-shadow: 0 16px 36px rgba(0,0,0,.24); color: var(--bp-link-color); text-decoration: none; }
.blindingpic .bp-link-overlay_bottom { position: absolute; right: 24px; bottom: 24px; margin-top: 0; }
.blindingpic.bp-layout-bottom_right .bp-link-overlay_bottom, .blindingpic.bp-layout-bottom_left .bp-link-overlay_bottom, .blindingpic.bp-layout-bar_bottom .bp-link-overlay_bottom { top: 24px; bottom: auto; }
@media (max-width: 640px) { .blindingpic .bp-link-overlay_bottom { right: 14px; bottom: 14px; top: auto !important; padding: 10px 14px; } }


/* Stable 1.3: Kanten- und Mobile-Fixes */
.blindingpic.bp-layout-bar_bottom .bp-ribbon {
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100%;
    max-width: none;
    margin: 0;
}
.blindingpic.bp-layout-bar_top .bp-ribbon {
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100%;
    max-width: none;
    margin: 0;
}
.blindingpic .bp-corner-ribbon {
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    box-sizing: border-box;
    transform-origin: center center;
}
@media (max-width: 640px) {
    .blindingpic.bp-layout-bar_bottom .bp-ribbon {
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        top: auto !important;
        width: 100% !important;
        max-width: none !important;
        border-radius: 0 !important;
        text-align: center !important;
        transform: none !important;
    }
    .blindingpic.bp-layout-bar_top .bp-ribbon {
        left: 0 !important;
        right: 0 !important;
        top: 0 !important;
        bottom: auto !important;
        width: 100% !important;
        max-width: none !important;
        border-radius: 0 !important;
        text-align: center !important;
        transform: none !important;
    }
    .blindingpic .bp-corner-ribbon {
        width: 150px;
        min-height: 28px;
        padding: 7px 0;
        text-align: center !important;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
        letter-spacing: .05em;
        font-size: clamp(10px, 2.8vw, var(--bp-corner-size));
    }
    .blindingpic.bp-corner-top_right .bp-corner-ribbon { top: 18px; right: -44px; }
    .blindingpic.bp-corner-top_left .bp-corner-ribbon { top: 18px; left: -44px; }
    .blindingpic.bp-corner-bottom_right .bp-corner-ribbon { bottom: 18px; right: -44px; }
    .blindingpic.bp-corner-bottom_left .bp-corner-ribbon { bottom: 18px; left: -44px; }
}

/* Stable 1.4: optionale Bildhöhe und Link sauber unter der Grafik */
.blindingpic-wrap {
    display: block;
    width: 100%;
    margin: 0 0 1.5rem;
}
.blindingpic-wrap .blindingpic {
    margin: 0;
}
.blindingpic-wrap.bp-has-height .blindingpic {
    height: var(--bp-image-height);
}
.blindingpic-wrap.bp-has-height .blindingpic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.blindingpic-wrap .bp-link-cta,
.blindingpic-wrap .bp-link-below {
    position: relative !important;
    inset: auto !important;
    margin-top: 12px;
    margin-left: 0;
    margin-right: 0;
}
.blindingpic-wrap .bp-link-cta {
    background: var(--bp-link-bg);
    color: var(--bp-link-color);
    border-radius: var(--bp-link-radius);
    padding: var(--bp-link-padding-y) var(--bp-link-padding-x);
    font-size: var(--bp-link-font);
}

/* Stable 1.4.1: Das komplette Bild ist optional die Schaltfläche */
.blindingpic-wrap .blindingpic-clickable {
    display: block;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}
.blindingpic-wrap .blindingpic-clickable:hover,
.blindingpic-wrap .blindingpic-clickable:focus {
    color: inherit;
    text-decoration: none;
}
.blindingpic-wrap.bp-is-linked .blindingpic img {
    transition: transform .22s ease, filter .22s ease;
}
.blindingpic-wrap.bp-is-linked .blindingpic-clickable:hover img,
.blindingpic-wrap.bp-is-linked .blindingpic-clickable:focus img {
    transform: scale(1.025);
}
.blindingpic-wrap .bp-link-cta,
.blindingpic-wrap .bp-link-below,
.blindingpic .bp-link-cta {
    display: none !important;
}

/* Stable 3.0: Shimmer-Effekt für die Bauchbinde */
.blindingpic .bp-ribbon.bp-shimmer-active {
    overflow: hidden;
    isolation: isolate;
}
.blindingpic .bp-ribbon.bp-shimmer-active::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -35%;
    bottom: -35%;
    left: calc(-1 * var(--bp-shimmer-width));
    width: var(--bp-shimmer-width);
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,var(--bp-shimmer-opacity)) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-22deg);
    animation: blindingpic-shimmer var(--bp-shimmer-speed) linear infinite;
}
.blindingpic .bp-ribbon.bp-shimmer-active strong,
.blindingpic .bp-ribbon.bp-shimmer-active small {
    position: relative;
    z-index: 2;
}
@keyframes blindingpic-shimmer {
    from { left: calc(-1 * var(--bp-shimmer-width)); }
    to { left: 120%; }
}
@media (prefers-reduced-motion: reduce) {
    .blindingpic .bp-ribbon.bp-shimmer-active::after { animation: none; display: none; }
}

/* Stable 4.0: Templates, Hover, Ribbon-PRO und Bauchbinde-PRO */
.blindingpic-wrap.bp-gradient-active .bp-ribbon,
.bp-preview.bp-gradient-active .bp-ribbon {
    background: linear-gradient(135deg, var(--bp-bg), var(--bp-bg2)) !important;
}
.blindingpic-wrap.bp-glass-active .bp-ribbon,
.bp-preview.bp-glass-active .bp-ribbon {
    background: rgba(20,20,20,.42) !important;
    background: color-mix(in srgb, var(--bp-bg) 62%, transparent) !important;
    border: 1px solid rgba(255,255,255,.28);
    backdrop-filter: blur(12px) saturate(130%);
    -webkit-backdrop-filter: blur(12px) saturate(130%);
}
.blindingpic-wrap.bp-glass-active.bp-gradient-active .bp-ribbon,
.bp-preview.bp-glass-active.bp-gradient-active .bp-ribbon {
    background: linear-gradient(135deg, color-mix(in srgb, var(--bp-bg) 68%, transparent), color-mix(in srgb, var(--bp-bg2) 68%, transparent)) !important;
}
.blindingpic-wrap.bp-no-banner-shadow .bp-ribbon,
.bp-preview.bp-no-banner-shadow .bp-ribbon {
    box-shadow: none !important;
}
.blindingpic-wrap.bp-no-ribbon-shadow .bp-corner-ribbon,
.bp-preview .bp-corner-ribbon.bp-no-ribbon-shadow {
    box-shadow: none !important;
}
.blindingpic .bp-corner-ribbon {
    min-height: var(--bp-corner-height, 34px);
    font-weight: var(--bp-corner-weight, 900);
}
.blindingpic.bp-corner-top_right .bp-corner-ribbon { top: calc(var(--bp-corner-offset, 54px) - 30px); right: calc(-1 * var(--bp-corner-offset, 54px)); }
.blindingpic.bp-corner-top_left .bp-corner-ribbon { top: calc(var(--bp-corner-offset, 54px) - 30px); left: calc(-1 * var(--bp-corner-offset, 54px)); }
.blindingpic.bp-corner-bottom_right .bp-corner-ribbon { bottom: calc(var(--bp-corner-offset, 54px) - 30px); right: calc(-1 * var(--bp-corner-offset, 54px)); }
.blindingpic.bp-corner-bottom_left .bp-corner-ribbon { bottom: calc(var(--bp-corner-offset, 54px) - 30px); left: calc(-1 * var(--bp-corner-offset, 54px)); }
.blindingpic .bp-corner-ribbon.bp-shimmer-active {
    overflow: hidden;
    isolation: isolate;
}
.blindingpic .bp-corner-ribbon.bp-shimmer-active::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: -45%;
    bottom: -45%;
    left: calc(-1 * var(--bp-ribbon-shimmer-width));
    width: var(--bp-ribbon-shimmer-width);
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,var(--bp-ribbon-shimmer-opacity)) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-22deg);
    animation: blindingpic-ribbon-shimmer var(--bp-ribbon-shimmer-speed) linear infinite;
}
.blindingpic .bp-corner-ribbon.bp-shimmer-active span {
    position: relative;
    z-index: 2;
}
@keyframes blindingpic-ribbon-shimmer {
    from { left: calc(-1 * var(--bp-ribbon-shimmer-width)); }
    to { left: 120%; }
}
.blindingpic-wrap.bp-is-linked.bp-hover-none .blindingpic-clickable:hover img,
.blindingpic-wrap.bp-is-linked.bp-hover-none .blindingpic-clickable:focus img { transform: none; }
.blindingpic-wrap.bp-is-linked.bp-hover-zoom .blindingpic-clickable:hover img,
.blindingpic-wrap.bp-is-linked.bp-hover-zoom .blindingpic-clickable:focus img { transform: scale(1.035); }
.blindingpic-wrap.bp-is-linked.bp-hover-darken .blindingpic-clickable:hover img,
.blindingpic-wrap.bp-is-linked.bp-hover-darken .blindingpic-clickable:focus img { filter: brightness(72%); }
.blindingpic-wrap.bp-is-linked.bp-hover-brighten .blindingpic-clickable:hover img,
.blindingpic-wrap.bp-is-linked.bp-hover-brighten .blindingpic-clickable:focus img { filter: brightness(118%); }
.blindingpic-wrap.bp-is-linked.bp-hover-blur .blindingpic-clickable:hover img,
.blindingpic-wrap.bp-is-linked.bp-hover-blur .blindingpic-clickable:focus img { filter: blur(1.5px); }
@media (prefers-reduced-motion: reduce) {
    .blindingpic .bp-corner-ribbon.bp-shimmer-active::after { animation: none; display: none; }
}

/* Stable 4.1: Responsive Bildpositionierung im Container */
.blindingpic-wrap.bp-has-height .blindingpic img {
    object-position: 50% var(--bp-img-pos-desktop, 50%);
}
@media (max-width: 1024px) {
    .blindingpic-wrap.bp-has-height .blindingpic img {
        object-position: 50% var(--bp-img-pos-tablet, var(--bp-img-pos-desktop, 50%));
    }
}
@media (max-width: 640px) {
    .blindingpic-wrap.bp-has-height .blindingpic img {
        object-position: 50% var(--bp-img-pos-mobile, var(--bp-img-pos-tablet, 50%));
    }
}


/* BlindingPIC Feature-Shortcode Stable 5.1.3 */
.blindingpic-features{
    max-width:1120px;
    margin:28px 0;
    padding:0;
    background:transparent;
    border:0;
    box-shadow:none;
    color:#333;
}
.blindingpic-features .bp-features-head{
    margin:0 0 26px;
}
.blindingpic-features .bp-features-head h2{
    margin:0 0 10px;
    font-size:24px;
    line-height:1.25;
    font-weight:700;
    color:#2f2f2f;
}
.blindingpic-features .bp-features-head p{
    margin:0;
    color:#4b4b4b;
    font-size:15px;
    line-height:1.55;
}
.blindingpic-features .bp-features-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:72px;
    row-gap:28px;
}
.blindingpic-features .bp-feature-row{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:12px;
    align-items:start;
}
.blindingpic-features .bp-feature-icon{
    display:flex;
    width:24px;
    height:24px;
    align-items:center;
    justify-content:center;
    color:#555;
    font-size:21px;
    line-height:1;
    margin-top:0;
}
.blindingpic-features .bp-feature-copy strong{
    display:block;
    margin:0 0 7px;
    color:#333;
    font-size:15px;
    line-height:1.35;
    font-weight:700;
}
.blindingpic-features .bp-feature-copy span{
    display:block;
    margin:0;
    color:#4b4b4b;
    font-size:14px;
    line-height:1.55;
}
.bp-help-wide .blindingpic-features{
    margin-top:20px;
}
@media(max-width:800px){
    .blindingpic-features .bp-features-list{
        grid-template-columns:1fr;
        gap:24px;
    }
}

/* BlindingPIC 5.1.4 Feature-Shortcode: Vorlage-nahes Frontend-Layout */
.blindingpic-features{
    max-width:1040px;
    margin:22px 0 30px;
    padding:0;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    color:#333;
    font-family:inherit;
}
.blindingpic-features .bp-features-head{
    margin:0 0 28px;
}
.blindingpic-features .bp-features-head h2{
    margin:0 0 10px;
    padding:0;
    color:#303030;
    font-size:23px;
    line-height:1.25;
    font-weight:700;
}
.blindingpic-features .bp-features-head p{
    margin:0;
    padding:0;
    color:#4b4b4b;
    font-size:15px;
    line-height:1.55;
}
.blindingpic-features .bp-features-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:74px;
    row-gap:27px;
}
.blindingpic-features .bp-feature-row{
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:12px;
    align-items:start;
    min-width:0;
}
.blindingpic-features .bp-feature-icon{
    display:flex;
    width:24px;
    height:24px;
    align-items:center;
    justify-content:center;
    color:#5f5f5f;
    font-size:21px;
    line-height:1;
    font-weight:400;
    margin-top:0;
    filter:grayscale(1);
}
.blindingpic-features .bp-feature-copy strong{
    display:block;
    margin:0 0 7px;
    padding:0;
    color:#333333;
    font-size:15px;
    line-height:1.35;
    font-weight:700;
}
.blindingpic-features .bp-feature-copy span{
    display:block;
    margin:0;
    padding:0;
    color:#4b4b4b;
    font-size:14px;
    line-height:1.55;
    font-weight:400;
}
.bp-help-wide .blindingpic-features{
    margin-top:20px;
}
@media(max-width:800px){
    .blindingpic-features{
        max-width:100%;
    }
    .blindingpic-features .bp-features-list{
        grid-template-columns:1fr;
        gap:24px;
    }
}
