.pj0-cd-configurator-page .entry-header{
    display:none;
}

/* Astra bringt auf normalen Seiten eigenen Abstand oberhalb des Inhalts mit.
   Auf der Konfigurator-Seite steuern wir den Abstand komplett selbst. */
body.pj0-cd-configurator-page .site-content > .ast-container{
    padding-top:0 !important;
}

body.pj0-cd-configurator-page #primary,
body.pj0-cd-configurator-page .site-main,
body.pj0-cd-configurator-page .entry-content{
    margin-top:0 !important;
    padding-top:0 !important;
}

:root{
    --pj0-cd-red:#e6002e;
    --pj0-cd-black:#080808;
    --pj0-cd-panel:#101010;
    --pj0-cd-border:#2b2b2b;
    --pj0-cd-muted:#b8b8b8;
}

.pj0-cd-add-button{
    appearance:none;
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-top:16px;
    padding:12px 16px;
    border:2px solid var(--pj0-cd-red);
    border-radius:0;
    background:var(--pj0-cd-red);
    color:#fff;
    font-family:inherit;
    font-size:13px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.8px;
    text-transform:uppercase;
    cursor:pointer;
    transition:.2s ease;
}

.pj0-cd-add-button:hover,
.pj0-cd-add-button:focus{
    background:#fff;
    border-color:#fff;
    color:var(--pj0-cd-red);
}

.pj0-cd-add-button.is-selected{
    background:#fff;
    border-color:#fff;
    color:#111;
}

.pj0-cd-add-button:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.pj0-cd-add-button-single{
    width:auto;
    min-width:290px;
    margin:-8px 0 24px;
    padding:15px 28px;
    font-size:15px;
}

.pj0-cd-floating{
    --pj0-fill:0%;
    position:fixed;
    right:22px;
    bottom:22px;
    z-index:99998;
    width:260px;
    min-height:108px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px;
    box-sizing:border-box;
    background:rgba(8,8,8,.96);
    color:#fff;
    border:1px solid #3a3a3a;
    box-shadow:0 18px 50px rgba(0,0,0,.45);
    text-decoration:none;
    transition:.2s ease;
}

.pj0-cd-floating:hover{
    transform:translateY(-3px);
    border-color:var(--pj0-cd-red);
    color:#fff;
}

.pj0-cd-floating-disc{
    position:relative;
    flex:0 0 76px;
    width:76px;
    height:76px;
    border-radius:50%;
    background:conic-gradient(var(--pj0-cd-red) var(--pj0-fill), #222 0);
    box-shadow:inset 0 0 0 4px #111;
}

.pj0-cd-floating-disc:before{
    content:"";
    position:absolute;
    inset:8px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.22);
    background:radial-gradient(circle at 34% 28%, rgba(255,255,255,.18), transparent 28%), #151515;
}

.pj0-cd-floating-disc:after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:17px;
    height:17px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:#050505;
    border:2px solid #777;
}

.pj0-cd-floating-disc span{
    position:absolute;
    inset:0;
    border-radius:50%;
    background:conic-gradient(from 210deg, transparent, rgba(255,255,255,.14), transparent 28%);
}

.pj0-cd-floating-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}

.pj0-cd-floating-copy strong{
    color:var(--pj0-cd-red);
    font-size:12px;
    font-weight:900;
    letter-spacing:1.3px;
}

.pj0-cd-floating-copy span{
    font-size:16px;
    font-weight:900;
}

.pj0-cd-floating-copy small{
    color:#b9b9b9;
    font-size:12px;
}

.pj0-cd-floating-copy b{
    margin-top:2px;
    color:#fff;
    font-size:17px;
}

.pj0-cd-page{
    max-width:1400px;
    margin:0 auto;
    padding:42px 24px 80px;
    color:#fff;
}

.pj0-cd-page *{
    box-sizing:border-box;
}

.pj0-cd-page-head{
    max-width:920px;
    margin-bottom:42px;
}

.pj0-cd-kicker,
.pj0-cd-section-head span{
    color:var(--pj0-cd-red);
    font-size:13px;
    font-weight:900;
    letter-spacing:1.8px;
    text-transform:uppercase;
}

.pj0-cd-page-head h1{
    margin:8px 0 16px;
    font-size:64px;
    line-height:.98;
    font-weight:900;
    letter-spacing:-1px;
    text-transform:uppercase;
}

.pj0-cd-page-head p{
    max-width:820px;
    margin:0 0 20px;
    color:#d1d1d1;
    font-size:19px;
    line-height:1.55;
}

.pj0-cd-price-rule{
    display:inline-flex;
    flex-wrap:wrap;
    gap:8px 16px;
    padding:13px 15px;
    border:1px solid #333;
    border-left:4px solid var(--pj0-cd-red);
    background:#101010;
}

.pj0-cd-price-rule strong{
    color:#fff;
}

.pj0-cd-price-rule span{
    color:#c4c4c4;
}

.pj0-cd-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 430px;
    gap:28px;
    align-items:start;
}

.pj0-cd-builder,
.pj0-cd-summary-card{
    background:var(--pj0-cd-panel);
    border:1px solid var(--pj0-cd-border);
}

.pj0-cd-builder{
    padding:26px;
}

.pj0-cd-section-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    padding-bottom:20px;
    border-bottom:1px solid var(--pj0-cd-border);
}

.pj0-cd-section-head h2{
    margin:5px 0 0;
    color:#fff;
    font-size:32px;
    line-height:1;
    text-transform:uppercase;
}

.pj0-cd-more-songs{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:10px 14px;
    border:1px solid var(--pj0-cd-red);
    color:var(--pj0-cd-red);
    font-size:12px;
    font-weight:900;
    letter-spacing:.8px;
    text-decoration:none;
    text-transform:uppercase;
}

.pj0-cd-more-songs:hover{
    background:var(--pj0-cd-red);
    color:#fff;
}

.pj0-cd-empty{
    display:flex;
    flex-direction:column;
    gap:7px;
    margin-top:22px;
    padding:32px;
    background:#090909;
    border:1px dashed #3a3a3a;
    text-align:center;
}

.pj0-cd-empty[hidden],
.pj0-cd-track-list[hidden]{
    display:none !important;
}

.pj0-cd-empty strong{
    color:#fff;
    font-size:20px;
}

.pj0-cd-empty span{
    color:#aaa;
}

.pj0-cd-track-list{
    list-style:none;
    margin:22px 0 0;
    padding:0;
    display:flex;
    flex-direction:column;
    gap:9px;
}

.pj0-cd-track{
    display:grid;
    grid-template-columns:42px 26px 52px minmax(0,1fr) auto;
    gap:11px;
    align-items:center;
    min-height:72px;
    padding:10px 12px;
    background:#090909;
    border:1px solid #2a2a2a;
    transition:.15s ease;
}

.pj0-cd-track.is-dragging{
    opacity:.45;
}

.pj0-cd-track.is-drag-over{
    border-color:var(--pj0-cd-red);
    transform:translateY(2px);
}

.pj0-cd-track-number{
    color:var(--pj0-cd-red);
    font-size:18px;
    font-weight:900;
}

.pj0-cd-drag{
    color:#777;
    font-size:20px;
    cursor:grab;
}

.pj0-cd-track img{
    width:52px;
    height:52px;
    object-fit:cover;
    display:block;
}

.pj0-cd-track-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px;
}

.pj0-cd-track-copy strong{
    overflow:hidden;
    color:#fff;
    font-size:15px;
    font-weight:900;
    text-overflow:ellipsis;
    white-space:nowrap;
    text-transform:uppercase;
}

.pj0-cd-track-copy small{
    color:#aaa;
    font-size:12px;
}

.pj0-cd-track-controls{
    display:flex;
    gap:5px;
}

.pj0-cd-track-controls button{
    appearance:none;
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0;
    border:1px solid #3a3a3a;
    border-radius:0;
    background:#111;
    color:#fff;
    font-family:inherit;
    font-size:17px;
    font-weight:900;
    cursor:pointer;
}

.pj0-cd-track-controls button:hover{
    border-color:var(--pj0-cd-red);
    background:var(--pj0-cd-red);
}

.pj0-cd-title-field{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:24px;
}

.pj0-cd-title-field > span{
    color:var(--pj0-cd-red);
    font-size:13px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.pj0-cd-title-field small{
    color:#888;
    font-weight:700;
}

.pj0-cd-title-field input{
    width:100%;
    min-height:54px;
    padding:0 15px;
    border:1px solid #393939;
    border-radius:0;
    outline:none;
    background:#080808;
    color:#fff;
    font-family:inherit;
    font-size:16px;
}

.pj0-cd-title-field input:focus{
    border-color:var(--pj0-cd-red);
}

.pj0-cd-summary-card{
    position:sticky;
    top:28px;
    padding:24px;
}

.pj0-cd-disc-preview{
    position:relative;
    width:min(100%,350px);
    aspect-ratio:1/1;
    margin:0 auto 25px;
    overflow:hidden;
    border-radius:50%;
    background:
        radial-gradient(circle at 35% 28%, rgba(255,255,255,.15), transparent 22%),
        radial-gradient(circle at center, #111 0 17%, transparent 17.4%),
        repeating-radial-gradient(circle at center, #191919 0 2px, #141414 3px 5px);
    border:3px solid #3c3c3c;
    box-shadow:0 22px 55px rgba(0,0,0,.48), inset 0 0 60px rgba(255,255,255,.04);
}

.pj0-cd-disc-preview:before{
    content:"";
    position:absolute;
    inset:8%;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.12);
}

.pj0-cd-disc-shine{
    position:absolute;
    inset:-15%;
    border-radius:50%;
    background:conic-gradient(from 220deg, transparent, rgba(230,0,46,.2), rgba(255,255,255,.09), transparent 32%);
    transform:rotate(-15deg);
}

.pj0-cd-disc-content{
    position:absolute;
    inset:12% 13%;
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    pointer-events:none;
}

.pj0-cd-disc-content > strong{
    max-width:76%;
    margin-bottom:12px;
    color:#fff;
    font-size:15px;
    line-height:1.05;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.pj0-cd-preview-tracks{
    width:100%;
    max-height:64%;
    display:grid;
    grid-template-columns:1fr;
    gap:2px;
    overflow:hidden;
    color:#e3e3e3;
    font-size:8.5px;
    line-height:1.15;
    text-align:left;
}

.pj0-cd-preview-tracks.is-many{
    grid-template-columns:1fr 1fr;
    column-gap:11px;
    font-size:7.2px;
}

.pj0-cd-preview-tracks span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.pj0-cd-disc-hole{
    position:absolute;
    left:50%;
    top:50%;
    z-index:3;
    width:42px;
    height:42px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:#050505;
    border:5px solid #858585;
    box-shadow:0 0 0 5px #171717;
}

.pj0-cd-capacity{
    margin-bottom:20px;
}

.pj0-cd-capacity-line{
    display:flex;
    justify-content:space-between;
    gap:15px;
    margin-bottom:9px;
    font-size:13px;
}

.pj0-cd-capacity-line span{
    color:#fff;
    font-weight:900;
}

.pj0-cd-capacity-line strong{
    color:#aaa;
}

.pj0-cd-progress{
    height:10px;
    overflow:hidden;
    background:#242424;
    border:1px solid #363636;
}

.pj0-cd-progress span{
    display:block;
    width:0;
    height:100%;
    background:var(--pj0-cd-red);
    transition:width .2s ease;
}

.pj0-cd-price-breakdown{
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:18px 0;
    border-top:1px solid #2d2d2d;
    border-bottom:1px solid #2d2d2d;
}

.pj0-cd-price-breakdown > div{
    display:flex;
    justify-content:space-between;
    gap:14px;
    color:#c5c5c5;
    font-size:14px;
}

.pj0-cd-price-breakdown strong{
    color:#fff;
}

.pj0-cd-price-breakdown .pj0-cd-total{
    margin-top:5px;
    padding-top:13px;
    border-top:1px solid #2d2d2d;
    color:#fff;
    font-size:20px;
    font-weight:900;
    text-transform:uppercase;
}

.pj0-cd-price-breakdown .pj0-cd-total strong{
    color:var(--pj0-cd-red);
    font-size:25px;
}

.pj0-cd-cart-button{
    appearance:none;
    width:100%;
    min-height:58px;
    margin-top:20px;
    padding:14px 18px;
    border:2px solid var(--pj0-cd-red);
    border-radius:0;
    background:var(--pj0-cd-red);
    color:#fff;
    font-family:inherit;
    font-size:15px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
    cursor:pointer;
}

.pj0-cd-cart-button:hover:not(:disabled){
    background:#fff;
    border-color:#fff;
    color:var(--pj0-cd-red);
}

.pj0-cd-cart-button:disabled{
    opacity:.45;
    cursor:not-allowed;
}

.pj0-cd-cart-note{
    margin:10px 0 0;
    color:#aaa;
    font-size:12px;
    line-height:1.4;
    text-align:center;
}

.pj0-cd-cart-note.is-error{
    color:#ff6b7f;
}

@media(max-width:1050px){
    .pj0-cd-layout{
        grid-template-columns:1fr;
    }

    .pj0-cd-summary-card{
        position:static;
    }

    .pj0-cd-disc-preview{
        width:340px;
    }
}

@media(max-width:760px){
    .pj0-cd-page{
        padding:30px 16px 110px;
    }

    .pj0-cd-page-head h1{
        font-size:44px;
    }

    .pj0-cd-page-head p{
        font-size:17px;
    }

    .pj0-cd-builder,
    .pj0-cd-summary-card{
        padding:18px;
    }

    .pj0-cd-section-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .pj0-cd-more-songs{
        width:100%;
    }

    .pj0-cd-track{
        grid-template-columns:34px 1fr auto;
        min-height:72px;
    }

    .pj0-cd-drag,
    .pj0-cd-track img{
        display:none;
    }

    .pj0-cd-track-copy strong{
        white-space:normal;
    }


    .pj0-cd-floating{
        left:10px;
        right:10px;
        bottom:10px;
        width:auto;
        min-height:72px;
        padding:9px 12px;
    }

    .pj0-cd-floating-disc{
        flex-basis:52px;
        width:52px;
        height:52px;
    }

    .pj0-cd-floating-disc:after{
        width:12px;
        height:12px;
    }

    .pj0-cd-floating-copy{
        display:grid;
        grid-template-columns:1fr auto;
        flex:1;
        gap:2px 12px;
    }

    .pj0-cd-floating-copy strong,
    .pj0-cd-floating-copy span{
        grid-column:1;
    }

    .pj0-cd-floating-copy small{
        grid-column:1;
    }

    .pj0-cd-floating-copy b{
        grid-column:2;
        grid-row:1 / span 3;
        align-self:center;
    }

    .pj0-cd-add-button-single{
        width:100%;
        min-width:0;
    }
}

@media(max-width:480px){
    .pj0-cd-disc-preview{
        width:100%;
    }

    .pj0-cd-disc-content > strong{
        font-size:12px;
    }

    .pj0-cd-preview-tracks{
        font-size:7px;
    }

    .pj0-cd-preview-tracks.is-many{
        font-size:6.2px;
    }
}

/* =========================================================
   COVER-GENERATOR / FRONTEND-VORSCHAU
   Nur die Website-Vorschau wird optisch verändert.
   Die heruntergeladene Druck-PNG bleibt unverändert.
   ========================================================= */

.pj0-cd-title-field textarea{
    width:100%;
    min-height:110px;
    padding:14px 15px;
    border:1px solid #393939;
    border-radius:0;
    outline:none;
    resize:vertical;
    background:#080808;
    color:#fff;
    font-family:inherit;
    font-size:16px;
    line-height:1.45;
}

.pj0-cd-title-field textarea:focus{
    border-color:var(--pj0-cd-red);
}

/* Zusammenfassungsbox passend zur dunklen Website */
.pj0-cd-summary-card{
    background:linear-gradient(180deg,#111 0%,#090909 100%);
    border:1px solid rgba(255,255,255,.07);
    box-shadow:0 22px 55px rgba(0,0,0,.34);
}

/* Keine extra Grafikbox mehr: Die CD schwebt direkt im Layout. */
.pj0-cd-disc-preview{
    position:relative;
    isolation:isolate;
    width:min(100%,430px);
    aspect-ratio:1/1;
    margin:0 auto 28px;
    padding:8px;
    overflow:visible;
    box-sizing:border-box;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

/* Weicher Schatten direkt unter der CD */
.pj0-cd-disc-preview::after{
    content:"";
    position:absolute;
    z-index:-1;
    left:12%;
    right:12%;
    bottom:1.5%;
    height:12%;
    border-radius:50%;
    background:rgba(0,0,0,.58);
    filter:blur(18px);
    transform:scaleY(.7);
    pointer-events:none;
}

/* Alte grafische Ebenen deaktivieren. */
.pj0-cd-disc-preview:before,
.pj0-cd-disc-preview .pj0-cd-disc-shine,
.pj0-cd-disc-preview .pj0-cd-disc-content,
.pj0-cd-disc-preview .pj0-cd-disc-hole{
    display:none !important;
}

/* Wichtig: Nur in der Website-Vorschau wird das weiße Quadrat
   des SVG transparent. Die weiße runde CD bleibt sichtbar. */
.pj0-cd-disc-preview svg > rect:first-child{
    fill:transparent !important;
}

.pj0-cd-disc-preview svg{
    position:relative;
    z-index:1;
    display:block;
    width:100%;
    height:100%;
    overflow:visible;
    filter:
        drop-shadow(0 18px 18px rgba(0,0,0,.34))
        drop-shadow(0 5px 5px rgba(0,0,0,.24));
}

/* Backend bleibt neutral und drucknah. */
.pj0-admin-cover-card{
    margin-bottom:16px;
    padding:12px;
    border:1px solid #dcdcde;
    background:#fff;
}

.pj0-admin-cover-preview{
    width:100%;
    max-width:240px;
    margin:0 auto;
    aspect-ratio:1/1;
    background:#fff;
}

.pj0-admin-cover-preview svg{
    display:block;
    width:100%;
    height:100%;
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.15));
}

.pj0-admin-cover-actions .button{
    margin-top:6px;
}

@media(max-width:1050px){
    .pj0-cd-disc-preview{
        width:min(100%,430px);
    }
}

@media(max-width:760px){
    .pj0-cd-disc-preview{
        width:100%;
        padding:5px;
    }
}

@media(max-width:480px){
    .pj0-cd-disc-preview{
        padding:3px;
    }

    .pj0-cd-disc-preview::after{
        filter:blur(12px);
    }
}

/* =========================================================
   SCHWEBENDER CD-WARENKORB – AUFFÄLLIGERE VERSION
   ========================================================= */

.pj0-cd-floating{
    --pj0-fill:0%;
    position:fixed;
    right:24px;
    bottom:24px;
    z-index:99998;
    width:294px;
    min-height:132px;
    display:flex;
    align-items:center;
    gap:16px;
    padding:17px 17px 38px;
    overflow:hidden;
    box-sizing:border-box;
    border:1px solid rgba(255,255,255,.15);
    border-radius:4px;
    background:
        radial-gradient(circle at 16% 42%, rgba(230,0,46,.16), transparent 34%),
        linear-gradient(145deg, rgba(27,27,27,.98) 0%, rgba(8,8,8,.99) 72%);
    color:#fff;
    box-shadow:
        0 22px 55px rgba(0,0,0,.58),
        inset 0 1px 0 rgba(255,255,255,.06);
    text-decoration:none;
    transform:translateZ(0);
    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

/* Roter Akzent oben */
.pj0-cd-floating::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
    background:linear-gradient(
        90deg,
        transparent 0%,
        var(--pj0-cd-red) 18%,
        #ff3157 50%,
        var(--pj0-cd-red) 82%,
        transparent 100%
    );
}

/* Klare Handlungsaufforderung */
.pj0-cd-floating::after{
    content:"CD ANSEHEN  →";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    min-height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 12px;
    background:rgba(230,0,46,.94);
    color:#fff;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.15px;
    line-height:1;
    text-transform:uppercase;
}

.pj0-cd-floating:hover,
.pj0-cd-floating:focus{
    transform:translateY(-5px) scale(1.015);
    border-color:rgba(230,0,46,.9);
    color:#fff;
    box-shadow:
        0 27px 68px rgba(0,0,0,.66),
        0 0 0 1px rgba(230,0,46,.28),
        0 0 27px rgba(230,0,46,.20);
}

/* Sobald Songs gewählt wurden, wird die Karte stärker hervorgehoben */
.pj0-cd-floating.has-songs{
    border-color:rgba(230,0,46,.72);
    box-shadow:
        0 22px 58px rgba(0,0,0,.62),
        0 0 0 1px rgba(230,0,46,.18),
        0 0 24px rgba(230,0,46,.14);
    animation:pj0-cd-widget-glow 3.4s ease-in-out infinite;
}

@keyframes pj0-cd-widget-glow{
    0%,
    100%{
        box-shadow:
            0 22px 58px rgba(0,0,0,.62),
            0 0 0 1px rgba(230,0,46,.16),
            0 0 18px rgba(230,0,46,.10);
    }

    50%{
        box-shadow:
            0 24px 62px rgba(0,0,0,.66),
            0 0 0 1px rgba(230,0,46,.34),
            0 0 32px rgba(230,0,46,.24);
    }
}

.pj0-cd-floating-disc{
    position:relative;
    flex:0 0 84px;
    width:84px;
    height:84px;
    border-radius:50%;
    background:conic-gradient(
        var(--pj0-cd-red) var(--pj0-fill),
        #2a2a2a 0
    );
    box-shadow:
        0 9px 22px rgba(0,0,0,.42),
        0 0 0 1px rgba(255,255,255,.10),
        inset 0 0 0 5px #0d0d0d;
}

.pj0-cd-floating.has-songs .pj0-cd-floating-disc{
    box-shadow:
        0 10px 24px rgba(0,0,0,.48),
        0 0 18px rgba(230,0,46,.24),
        0 0 0 1px rgba(255,255,255,.13),
        inset 0 0 0 5px #0d0d0d;
}

.pj0-cd-floating-disc:before{
    content:"";
    position:absolute;
    inset:9px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.20);
    background:
        radial-gradient(circle at 34% 27%, rgba(255,255,255,.22), transparent 27%),
        repeating-radial-gradient(circle, #1b1b1b 0 2px, #121212 3px 5px);
}

.pj0-cd-floating-disc:after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:19px;
    height:19px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:#070707;
    border:2px solid #8c8c8c;
    box-shadow:0 0 0 4px #191919;
}

.pj0-cd-floating-disc span{
    position:absolute;
    inset:0;
    border-radius:50%;
    background:conic-gradient(
        from 208deg,
        transparent,
        rgba(255,255,255,.16),
        transparent 29%
    );
}

.pj0-cd-floating-copy{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:3px;
    padding-right:2px;
}

.pj0-cd-floating-copy strong{
    align-self:flex-start;
    margin-bottom:3px;
    padding:4px 7px;
    background:var(--pj0-cd-red);
    color:#fff;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.3px;
    line-height:1;
}

.pj0-cd-floating-copy span{
    color:#fff;
    font-size:19px;
    font-weight:900;
    line-height:1.15;
}

.pj0-cd-floating-copy small{
    color:#bdbdbd;
    font-size:12px;
    line-height:1.3;
}

.pj0-cd-floating-copy b{
    margin-top:4px;
    color:#fff;
    font-size:22px;
    font-weight:900;
    line-height:1;
}

/* Animation für Nutzer mit reduzierter Bewegung deaktivieren */
@media(prefers-reduced-motion:reduce){
    .pj0-cd-floating,
    .pj0-cd-floating.has-songs{
        animation:none;
        transition:none;
    }
}

@media(max-width:760px){
    .pj0-cd-floating{
        left:10px;
        right:10px;
        bottom:10px;
        width:auto;
        min-height:82px;
        gap:11px;
        padding:9px 12px 9px;
        border-radius:3px;
    }

    .pj0-cd-floating::after{
        position:static;
        flex:0 0 auto;
        min-width:92px;
        min-height:42px;
        margin-left:auto;
        padding:0 10px;
        font-size:9px;
        text-align:center;
    }

    .pj0-cd-floating-disc{
        flex-basis:58px;
        width:58px;
        height:58px;
    }

    .pj0-cd-floating-disc:after{
        width:13px;
        height:13px;
        box-shadow:0 0 0 3px #191919;
    }

    .pj0-cd-floating-copy{
        display:flex;
        flex-direction:column;
        gap:2px;
    }

    .pj0-cd-floating-copy strong{
        margin-bottom:1px;
        padding:3px 5px;
        font-size:9px;
    }

    .pj0-cd-floating-copy span{
        font-size:15px;
    }

    .pj0-cd-floating-copy small{
        font-size:10px;
    }

    .pj0-cd-floating-copy b{
        margin-top:1px;
        font-size:17px;
    }
}

/* =========================================================
   PERSÖNLICH SIGNIERT – BADGE AN DER CD-VORSCHAU
   ========================================================= */

.pj0-cd-summary-card{
    overflow:visible;
}

.pj0-cd-signature-badge{
    position:absolute;
    z-index:9;
    top:17px;
    left:-13px;
    display:flex;
    align-items:center;
    gap:8px;
    min-height:48px;
    padding:7px 13px 7px 9px;
    border:1px solid rgba(255,255,255,.24);
    background:linear-gradient(135deg,#e6002e 0%,#b90025 100%);
    color:#fff;
    box-shadow:
        0 12px 28px rgba(0,0,0,.48),
        0 0 22px rgba(230,0,46,.23),
        inset 0 1px 0 rgba(255,255,255,.16);
    transform:rotate(-3deg);
    pointer-events:none;
}

.pj0-cd-signature-badge::after{
    content:"";
    position:absolute;
    left:13px;
    bottom:-7px;
    width:13px;
    height:13px;
    background:#b90025;
    transform:rotate(45deg);
    z-index:-1;
}

.pj0-cd-signature-plus{
    display:flex;
    align-items:center;
    justify-content:center;
    width:29px;
    height:29px;
    flex:0 0 29px;
    border-radius:50%;
    background:#fff;
    color:#e6002e;
    font-size:23px;
    font-weight:900;
    line-height:1;
}

.pj0-cd-signature-copy{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
}

.pj0-cd-signature-copy strong{
    color:#fff;
    font-size:12px;
    font-weight:900;
    line-height:1;
    letter-spacing:1.1px;
    white-space:nowrap;
}

.pj0-cd-signature-copy small{
    color:rgba(255,255,255,.88);
    font-size:10px;
    font-weight:700;
    line-height:1.1;
    white-space:nowrap;
}

/* =========================================================
   CD-DETAILS IM WARENKORB UND CHECKOUT SICHTBAR HALTEN
   Funktioniert mit klassischem Warenkorb und WooCommerce Blocks.
   ========================================================= */

.woocommerce-cart .wc-block-components-product-details,
.woocommerce-checkout .wc-block-components-product-details,
.woocommerce-cart dl.variation,
.woocommerce-checkout dl.variation{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    margin:10px 0 0 !important;
    padding:10px 12px !important;
    border-left:3px solid var(--pj0-cd-red);
    background:rgba(230,0,46,.055);
    color:inherit;
}

.woocommerce-cart .wc-block-components-product-details__item,
.woocommerce-checkout .wc-block-components-product-details__item{
    display:grid !important;
    grid-template-columns:minmax(92px,auto) minmax(0,1fr);
    gap:4px 10px;
    margin:0 0 6px !important;
    line-height:1.4;
}

.woocommerce-cart .wc-block-components-product-details__item:last-child,
.woocommerce-checkout .wc-block-components-product-details__item:last-child{
    margin-bottom:0 !important;
}

.woocommerce-cart .wc-block-components-product-details__name,
.woocommerce-checkout .wc-block-components-product-details__name,
.woocommerce-cart dl.variation dt,
.woocommerce-checkout dl.variation dt{
    color:#e6002e !important;
    font-weight:900 !important;
}

.woocommerce-cart .wc-block-components-product-details__value,
.woocommerce-checkout .wc-block-components-product-details__value,
.woocommerce-cart dl.variation dd,
.woocommerce-checkout dl.variation dd{
    color:inherit !important;
    overflow-wrap:anywhere;
}

@media(max-width:760px){
    .pj0-cd-signature-badge{
        top:13px;
        left:4px;
        min-height:43px;
        padding:6px 10px 6px 7px;
        transform:rotate(-2deg) scale(.92);
        transform-origin:left top;
    }

    .pj0-cd-signature-plus{
        width:26px;
        height:26px;
        flex-basis:26px;
        font-size:20px;
    }

    .pj0-cd-signature-copy strong{
        font-size:10px;
    }

    .pj0-cd-signature-copy small{
        font-size:9px;
    }

    .woocommerce-cart .wc-block-components-product-details__item,
    .woocommerce-checkout .wc-block-components-product-details__item{
        grid-template-columns:1fr;
        gap:1px;
    }
}

