/* Portfolio v6.8 – styles are intentionally scoped to .wcg-* / project pages. */

.wcg-container,
.wcg-project-layout,
.wcg-related-projects,
.wcg-project-nav { box-sizing: border-box; font-family: var(--wcg-font, inherit); }

/* Detailseiten dürfen breiter als die Nicepage-Textspalte werden, bleiben aber
   mit ruhigem Außenabstand im Viewport. --wcg-flow-pullup wird ausschließlich
   vom Nicepage-Kompatibilitäts-Script gesetzt, wenn oberhalb tatsächlich ein
   leerer Theme-Bereich übrig bleibt. */
.wcg-project-page {
    --wcg-detail-width: min(1480px, calc(100vw - 48px));
    --wcg-flow-pullup: 0px;
    display: flow-root;
    position: relative;
    width: var(--wcg-detail-width);
    max-width: none;
    clear: both;
    box-sizing: border-box;
    margin-top: var(--wcg-flow-pullup) !important;
    margin-left: calc((100% - var(--wcg-detail-width)) / 2);
    margin-right: calc((100% - var(--wcg-detail-width)) / 2);
    padding-top: 17px;
    padding-bottom: clamp(27px, 2.8vw, 43px);
}

@media (max-width: 900px) {
    .wcg-project-page {
        --wcg-detail-width: calc(100vw - 28px);
        padding-top: 13px;
        padding-bottom: 27px;
    }
}

@media (max-width: 480px) {
    .wcg-project-page {
        --wcg-detail-width: calc(100vw - 20px);
        padding-top: 11px;
        padding-bottom: 24px;
    }
}

.wcg-container { width: 100%; margin-bottom: var(--wcg-margin-bottom, 40px); }
.wcg-empty-message { width: 100%; text-align: center; padding: 30px 15px; opacity: .65; }

/* =========================================================
   PROJECT OVERVIEW
========================================================= */
.wcg-view-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--wcg-grid-gap, 0px);
    overflow: hidden;
}

@media (min-width: 901px) {
    .wcg-container.wcg-view-grid {
        width: var(--wcg-grid-width, 100vw) !important;
        max-width: none !important;
        position: relative !important;
        left: 50% !important;
        margin-left: calc(var(--wcg-grid-half, 50vw) * -1) !important;
    }
}

@media (max-width: 900px) {
    .wcg-view-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .wcg-view-grid { grid-template-columns: 1fr; }
}

/* Shortcode-Übersichten nutzen auf Tablet/Smartphone dieselbe ruhige
   Viewport-Breite wie die Projektdetailseiten. Das bricht ausschließlich
   aus der schmaleren Nicepage-Inhaltsspalte aus; Desktop bleibt unverändert. */
@media (max-width: 900px) {
    .wcg-container.wcg-shortcode-overview {
        width: calc(100vw - 28px) !important;
        max-width: none !important;
        position: relative !important;
        left: auto !important;
        margin-left: calc(50% - 50vw + 14px) !important;
        margin-right: calc(50% - 50vw + 14px) !important;
    }
}

@media (max-width: 480px) {
    .wcg-container.wcg-shortcode-overview {
        width: calc(100vw - 20px) !important;
        margin-left: calc(50% - 50vw + 10px) !important;
        margin-right: calc(50% - 50vw + 10px) !important;
    }
}

.wcg-grid-global-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity .45s ease;
}

.wcg-enkre-card {
    --wcg-focus-x: 50%;
    --wcg-focus-y: 50%;
    position: relative;
    z-index: 1;
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none !important;
    color: inherit !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.wcg-card-bg { position: absolute; inset: 0; z-index: 1; overflow: hidden; }
.wcg-card-bg:empty::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg,#ececec,#d9d9d9); }
.wcg-cover-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: var(--wcg-focus-x, 50%) var(--wcg-focus-y, 50%);
    transition: transform .55s ease, opacity .45s ease;
}

.wcg-enkre-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: rgba(0,0,0,.44);
    transition: background .4s ease;
}
.wcg-enkre-content {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: clamp(16px, 3vw, 28px);
    box-sizing: border-box;
    text-align: center;
    transition: opacity .4s ease;
}
.wcg-enkre-content h3 {
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(1.15rem, 2vw, 1.65rem) !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    text-transform: uppercase;
    letter-spacing: 1.7px;
    text-shadow: 0 2px 14px rgba(0,0,0,.65);
    transition: transform .45s ease;
}
.wcg-enkre-meta {
    margin-top: 9px;
    color: #eee !important;
    font-size: .79rem;
    line-height: 1.4;
    text-transform: uppercase;
    letter-spacing: .9px;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .4s ease, transform .4s ease;
    text-shadow: 0 2px 12px rgba(0,0,0,.75);
}
.wcg-enkre-arrow {
    margin-top: 10px;
    color: #fff !important;
    font-size: 1.85rem;
    line-height: 1;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .4s ease, transform .4s ease;
}

@media (hover:hover) and (pointer:fine) {
    .wcg-view-grid:hover .wcg-grid-global-bg { opacity: 1; }
    /* Wichtig: Die Karten selbst müssen transparent bleiben, damit das eine
       große Hover-Bild über die komplette 6er-Fläche sichtbar wird. */
    .wcg-view-grid:hover > .wcg-enkre-card { background: transparent !important; }
    .wcg-view-grid:hover .wcg-card-bg { opacity: 0; }
    .wcg-view-grid:hover .wcg-enkre-overlay { background: rgba(0,0,0,.74); }
    .wcg-view-grid:hover .wcg-enkre-content { opacity: 0; }
    .wcg-view-grid .wcg-enkre-card:hover .wcg-enkre-content { opacity: 1; }
    .wcg-view-grid .wcg-enkre-card:hover .wcg-enkre-overlay { background: rgba(0,0,0,.16) !important; }
    .wcg-enkre-card:hover .wcg-enkre-content h3 { transform: translateY(-7px); }
    .wcg-enkre-card:hover .wcg-enkre-meta,
    .wcg-enkre-card:hover .wcg-enkre-arrow { opacity: 1; transform: translateY(0); }
    .wcg-related-grid .wcg-enkre-card:hover .wcg-cover-img { transform: scale(1.035); }
}

@media (hover:none), (pointer:coarse) {
    .wcg-enkre-overlay { background: rgba(0,0,0,.5) !important; }
    .wcg-enkre-content h3 { transform: translateY(-5px); }
    .wcg-enkre-meta, .wcg-enkre-arrow { opacity: 1; transform: translateY(0); }
}

.wcg-more-projects { width: 100%; display: flex; justify-content: center; margin: 30px 0 20px; }
.wcg-more-projects-button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 34px !important;
    background: var(--wcg-btn-bg, #222) !important;
    color: var(--wcg-btn-text, #fff) !important;
    border: 0 !important;
    border-radius: 3px !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 1.7px;
    font-size: 13px;
    font-weight: 600;
    transition: transform .25s ease, box-shadow .25s ease;
}
.wcg-more-projects-button:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.16); }
.wcg-more-projects-button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* =========================================================
   LIST ARCHIVE
========================================================= */
.wcg-view-list { display: flex !important; flex-direction: column; gap: 0; max-width: 100%; }
.wcg-list-card {
    --wcg-focus-x: 50%;
    --wcg-focus-y: 50%;
    display: grid;
    grid-template-columns: 280px minmax(0,1fr) auto;
    min-height: 160px;
    align-items: center;
    text-decoration: none !important;
    color: inherit !important;
    border-bottom: 1px solid #e0e0e0;
    overflow: hidden;
    transition: background .25s ease;
}
.wcg-list-card:first-of-type { border-top: 1px solid #e0e0e0; }
.wcg-list-card:hover { background: rgba(0,0,0,.035); }
.wcg-list-thumb { width: 280px; height: 160px; overflow: hidden; background:#eee; }
.wcg-list-info { min-width:0; padding: 26px 36px; }
.wcg-list-info h3 { margin:0 0 7px !important; font-size:1.2rem !important; font-weight:600 !important; line-height:1.2 !important; text-transform:uppercase; color:inherit!important; }
.wcg-list-meta { margin:0 !important; font-size:.78rem; line-height:1.4; color:#888!important; text-transform:uppercase; letter-spacing:.9px; }
.wcg-list-arrow { padding-right:34px; font-size:1.55rem; color:#aaa; transition: transform .25s ease,color .25s ease; }
.wcg-list-card:hover .wcg-list-arrow { transform:translateX(5px); color:#444; }

@media (max-width:900px){
    .wcg-list-card{grid-template-columns:180px minmax(0,1fr) auto;min-height:120px}
    .wcg-list-thumb{width:180px;height:120px}.wcg-list-info{padding:18px 22px}
}
@media (max-width:600px){
    .wcg-list-card{grid-template-columns:100px minmax(0,1fr) auto;min-height:86px}.wcg-list-thumb{width:100px;height:86px}.wcg-list-info{padding:12px 13px}.wcg-list-info h3{font-size:.88rem!important}.wcg-list-meta{display:none}.wcg-list-arrow{padding-right:12px;font-size:1.15rem}
}

/* =========================================================
   MOBILE OVERVIEW SLIDER
========================================================= */
@media (max-width:900px){
    .wcg-mobile-slider{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--wcg-grid-gap,0px)}
    .wcg-mobile-slider::-webkit-scrollbar{display:none}.wcg-mobile-slider .wcg-enkre-card{flex:0 0 85%!important;scroll-snap-align:start}
}

/* =========================================================
   PROJECT INFORMATION
========================================================= */
.wcg-project-layout { width:100%; color:var(--wcg-text,#222); }
.wcg-project-header { margin: var(--wcg-margin-top,0px) 0 34px; padding:0; }
.wcg-project-meta-container--full {
    width:100%;
    box-sizing:border-box;
    padding:34px 40px;
    background:var(--wcg-bg,#fdfdfd);
    color:var(--wcg-text,#222);
    border:1px solid var(--wcg-border,#eaeaea);
    border-radius:5px;
    box-shadow:0 2px 10px rgba(0,0,0,.025);
}
.wcg-project-title {
    display:block!important;
    visibility:visible!important;
    margin:0 0 24px!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    color:inherit!important;
    font-size:clamp(2rem,4.4vw,3.65rem)!important;
    font-weight:700!important;
    line-height:1.04!important;
    letter-spacing:-.6px!important;
    text-transform:uppercase!important;
    word-break:break-word;
}
.wcg-project-meta-list {
    list-style:none!important;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:24px 28px;
    margin:0!important;
    padding:22px 0 0!important;
    border-top:1px solid rgba(0,0,0,.08);
}
.wcg-project-meta-list li { min-width:0; margin:0!important; padding:0!important; display:flex; flex-direction:column; line-height:1.35; }
.wcg-project-meta-list li span { margin-bottom:5px; color:inherit!important; opacity:.5; font-size:.7rem; font-weight:600; line-height:1.25; letter-spacing:1.35px; text-transform:uppercase; }
.wcg-project-meta-list li strong { color:inherit!important; font-size:.98rem; font-weight:400; overflow-wrap:anywhere; }
.wcg-project-description-inline { margin-top:22px; padding-top:18px; border-top:1px solid rgba(0,0,0,.08); font-size:1rem; line-height:1.72; opacity:.78; }
.wcg-project-description-inline p { margin:0 0 .75em!important; }
.wcg-project-description-inline p:last-child { margin-bottom:0!important; }

@media (max-width:900px){
    .wcg-project-header{margin-top:0!important;margin-bottom:22px!important}
    .wcg-project-meta-container--full{padding:22px 20px;margin-top:14px!important}
    .wcg-project-title{font-size:clamp(1.9rem,8vw,2.65rem)!important;margin-bottom:20px!important}
    .wcg-project-meta-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px;padding-top:18px!important}
}
@media (max-width:360px){.wcg-project-meta-list{grid-template-columns:1fr}}

/* =========================================================
   MASONRY GALLERY
========================================================= */
.wcg-container.wcg-view-masonry { display:block!important; column-count:3; column-gap:var(--wcg-masonry-gap,15px)!important; margin-top:0; }
.wcg-view-masonry .wcg-gallery-image {
    display:inline-block;
    width:100%;
    margin:0 0 var(--wcg-masonry-gap,15px)!important;
    border-radius:var(--wcg-masonry-radius,0px)!important;
    break-inside:avoid;
    page-break-inside:avoid;
    position:relative;
    overflow:hidden;
    cursor:zoom-in;
    box-shadow:0 3px 13px rgba(0,0,0,.055);
    background:#eee;
}
.wcg-responsive-gallery-img { width:100%; height:auto; display:block; transition:transform .5s ease; }
.wcg-hover-overlay { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px; box-sizing:border-box; text-align:center; color:#fff; background:rgba(0,0,0,.62); opacity:0; transition:opacity .35s ease; pointer-events:none; }
.wcg-hover-overlay h3{margin:0 0 5px!important;color:#fff!important;font-size:1.1rem!important;font-weight:500!important;text-transform:uppercase}.wcg-hover-overlay p{margin:0!important;color:#ddd!important;font-size:.8rem!important}
@media (hover:hover) and (pointer:fine){.wcg-gallery-image:hover .wcg-hover-overlay{opacity:1}.wcg-gallery-image:hover .wcg-responsive-gallery-img{transform:scale(1.025)}}
.wcg-gallery-image:focus-visible { outline:2px solid currentColor; outline-offset:3px; }

@media (max-width:900px){.wcg-container.wcg-view-masonry{column-count:2;column-gap:10px!important}.wcg-view-masonry .wcg-gallery-image{margin-bottom:10px!important;box-shadow:none}}
@media (max-width:600px){.wcg-container.wcg-view-masonry{column-count:1}}

/* =========================================================
   DETAIL LAYOUT: EDITORIAL
========================================================= */
.wcg-project-layout--editorial { display:grid; grid-template-columns:minmax(260px,34%) minmax(0,1fr); gap:clamp(28px,4vw,64px); align-items:start; }
.wcg-project-layout--editorial .wcg-editorial-info { position:sticky; top:24px; }
.wcg-project-layout--editorial .wcg-project-header { margin:0!important; }
.wcg-project-layout--editorial .wcg-project-meta-container--full { padding:28px 26px; }
.wcg-project-layout--editorial .wcg-project-title { font-size:clamp(1.9rem,3vw,3rem)!important; }
.wcg-project-layout--editorial .wcg-project-meta-list { grid-template-columns:1fr; gap:15px; }
.wcg-project-layout--editorial .wcg-editorial-gallery .wcg-view-masonry { column-count:2; margin-bottom:0; }

@media (max-width:900px){
    .wcg-project-layout--editorial{display:block}.wcg-project-layout--editorial .wcg-editorial-info{position:static}.wcg-project-layout--editorial .wcg-project-header{margin-bottom:22px!important}.wcg-project-layout--editorial .wcg-project-meta-list{grid-template-columns:repeat(2,minmax(0,1fr))}.wcg-project-layout--editorial .wcg-editorial-gallery .wcg-view-masonry{column-count:2}
}
@media (max-width:600px){.wcg-project-layout--editorial .wcg-editorial-gallery .wcg-view-masonry{column-count:1}}

/* =========================================================
   DETAIL LAYOUT: IMAGE FIRST
========================================================= */
.wcg-project-layout--image-first .wcg-project-hero { width:100%; margin:0 0 clamp(24px,4vw,48px)!important; padding:0; overflow:hidden; cursor:zoom-in; background:#eee; }
.wcg-project-layout--image-first .wcg-project-hero-img { width:100%; height:auto; max-height:none; object-fit:contain; display:block; }
.wcg-project-layout--image-first .wcg-project-header { margin-top:0!important; }

/* =========================================================
   RELATED PROJECTS
========================================================= */
.wcg-related-projects { width:100%; margin:clamp(48px,7vw,86px) 0 0; padding-top:28px; border-top:1px solid rgba(0,0,0,.11); }
.wcg-section-heading h2 { margin:0 0 22px!important; font-size:clamp(1.25rem,2vw,1.75rem)!important; line-height:1.2!important; text-transform:uppercase; letter-spacing:1px; color:inherit!important; }
.wcg-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.wcg-related-grid .wcg-enkre-card { aspect-ratio:16/10; }
.wcg-related-grid .wcg-enkre-overlay { background:rgba(0,0,0,.38); }
@media (max-width:800px){.wcg-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wcg-related-grid .wcg-enkre-card:last-child:nth-child(odd){grid-column:1/-1;aspect-ratio:16/8}}
@media (max-width:560px){.wcg-related-grid{grid-template-columns:1fr;gap:10px}.wcg-related-grid .wcg-enkre-card:last-child:nth-child(odd){grid-column:auto;aspect-ratio:16/10}}

/* =========================================================
   PREVIOUS / NEXT PROJECT
========================================================= */
.wcg-project-nav { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:34px 0 39px; padding-top:28px; border-top:1px solid rgba(0,0,0,.11); }
.wcg-project-nav-item { min-width:0; display:flex; align-items:center; gap:15px; padding:10px; color:inherit!important; text-decoration:none!important; border:1px solid rgba(0,0,0,.1); transition:border-color .25s ease,transform .25s ease; }
.wcg-project-nav-item:hover { border-color:rgba(0,0,0,.3); transform:translateY(-2px); }
.wcg-project-nav-item--next { justify-content:flex-end; text-align:right; }
.wcg-nav-thumb { width:118px; height:78px; object-fit:cover; flex:0 0 auto; }
.wcg-nav-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.wcg-nav-copy small { font-size:.67rem; line-height:1.2; text-transform:uppercase; letter-spacing:1.2px; opacity:.5; }
.wcg-nav-copy strong { font-size:.95rem; line-height:1.25; font-weight:600; text-transform:uppercase; overflow-wrap:anywhere; }
.wcg-nav-arrow { flex:0 0 auto; font-size:1.45rem; line-height:1; opacity:.55; }
@media (max-width:650px){
    .wcg-project-nav{grid-template-columns:1fr;gap:14px;margin:30px 0 27px;padding-top:22px}
    .wcg-project-nav-spacer{display:none}
    .wcg-project-nav-item{
        display:grid!important;
        grid-template-columns:auto minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;
        align-items:center!important;
        gap:0 12px!important;
        padding:0 0 13px!important;
        overflow:hidden!important;
        border:1px solid rgba(0,0,0,.1)!important;
        text-align:left!important;
        transform:none!important;
    }
    .wcg-project-nav-item:hover{transform:none!important}
    .wcg-nav-thumb{
        grid-column:1/-1!important;
        grid-row:1!important;
        display:block!important;
        width:100%!important;
        max-width:none!important;
        height:auto!important;
        aspect-ratio:16/9!important;
        object-fit:cover!important;
        margin:0!important;
        border:0!important;
    }
    .wcg-project-nav-item--prev .wcg-nav-arrow{grid-column:1!important;grid-row:2!important;margin:13px 0 0 14px!important}
    .wcg-project-nav-item--prev .wcg-nav-copy{grid-column:2!important;grid-row:2!important;margin:12px 14px 0 0!important}
    .wcg-project-nav-item--next .wcg-nav-copy{grid-column:1!important;grid-row:2!important;margin:12px 0 0 14px!important}
    .wcg-project-nav-item--next .wcg-nav-arrow{grid-column:2!important;grid-row:2!important;margin:13px 14px 0 0!important}
    .wcg-nav-copy{
        min-width:0!important;
        width:auto!important;
        max-width:100%!important;
        display:flex!important;
        flex-direction:column!important;
        gap:3px!important;
        overflow:visible!important;
    }
    .wcg-nav-copy small{
        display:block!important;
        width:auto!important;
        white-space:nowrap!important;
        word-break:normal!important;
        overflow-wrap:normal!important;
        font-size:.64rem!important;
        line-height:1.2!important;
        letter-spacing:1.1px!important;
    }
    .wcg-nav-copy strong{
        display:block!important;
        width:auto!important;
        max-width:100%!important;
        white-space:normal!important;
        word-break:normal!important;
        overflow-wrap:break-word!important;
        font-size:.92rem!important;
        line-height:1.2!important;
        letter-spacing:.25px!important;
    }
    .wcg-nav-arrow{font-size:1.35rem!important;line-height:1!important}
}

/* =========================================================
   LIGHTBOX
========================================================= */
html.wcg-lightbox-open, body.wcg-lightbox-open { overflow:hidden!important; }
.wcg-lightbox { display:none; position:fixed; inset:0; z-index:999999; width:100%; height:100%; box-sizing:border-box; padding:52px 64px 26px; background:rgba(0,0,0,.94); align-items:center; justify-content:center; flex-direction:column; }
.wcg-lightbox.active { display:flex; animation:wcgFadeIn .22s ease; }
@keyframes wcgFadeIn{from{opacity:0}to{opacity:1}}
.wcg-lightbox-stage { position:relative; display:flex; align-items:center; justify-content:center; min-height:0; max-width:100%; flex:1 1 auto; }
.wcg-lightbox-content { display:block; max-width:min(92vw,1800px); max-height:78vh; width:auto; height:auto; object-fit:contain; border-radius:2px; box-shadow:0 0 30px rgba(0,0,0,.42); transform:scale(1); transition:opacity .18s ease,transform .22s ease; cursor:zoom-in; touch-action:pan-y; user-select:none; -webkit-user-drag:none; }
.wcg-lightbox-content.is-changing { opacity:.22; }
.wcg-lightbox-content.is-zoomed { transform:scale(1.75); cursor:zoom-out; }
.wcg-lightbox-counter { position:absolute; right:10px; bottom:10px; padding:5px 8px; border-radius:2px; background:rgba(0,0,0,.58); color:#fff; font-size:.75rem; letter-spacing:.8px; }
.wcg-lightbox-info { flex:0 0 auto; max-width:900px; margin-top:14px; color:#eee; text-align:center; line-height:1.45; }
#wcg-lightbox-caption { font-size:.95rem; }
#wcg-lightbox-credit { margin-top:4px; font-size:.74rem; letter-spacing:.7px; text-transform:uppercase; opacity:.62; }
.wcg-close,.wcg-prev,.wcg-next { appearance:none;-webkit-appearance:none;position:absolute;z-index:9999999;border:0;background:transparent;color:#fff;cursor:pointer;font-family:inherit;line-height:1; }
.wcg-close { top:14px; right:22px; width:48px; height:48px; padding:0; font-size:38px; font-weight:300; }
.wcg-prev,.wcg-next { top:50%; transform:translateY(-50%); width:56px; height:74px; font-size:38px; font-weight:300; transition:background .2s ease; }
.wcg-prev{left:4px}.wcg-next{right:4px}.wcg-prev:hover,.wcg-next:hover{background:rgba(255,255,255,.08)}
.wcg-close:focus-visible,.wcg-prev:focus-visible,.wcg-next:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.wcg-lightbox--single .wcg-prev,.wcg-lightbox--single .wcg-next{display:none!important}
@media (max-width:600px){
    .wcg-lightbox{padding:46px 14px 18px}.wcg-lightbox-content{max-width:calc(100vw - 28px);max-height:74vh}.wcg-lightbox-content.is-zoomed{transform:scale(1.45)}.wcg-close{top:6px;right:7px}.wcg-prev,.wcg-next{width:42px;height:62px;font-size:28px}.wcg-prev{left:0}.wcg-next{right:0}.wcg-lightbox-info{margin-top:10px;padding:0 20px}.wcg-lightbox-counter{right:5px;bottom:5px}
}

/* =========================================================
   NICEPAGE / THEME COMPATIBILITY
========================================================= */
/* Nur die eigentlichen Beitrags-Header des Portfolio-CPT ausblenden – nie globale Theme-Header. */
.single-wcg_album article.type-wcg_album > .entry-header,
.single-wcg_album article.type-wcg_album > .page-header,
.single-wcg_album article.type-wcg_album > .post-thumbnail {
    display:none!important;
    margin:0!important;
    padding:0!important;
    height:0!important;
    min-height:0!important;
}

.single-wcg_album .wcg-collapsed-featured-wrapper {
    display:none!important;
    height:0!important;
    min-height:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
}

/* Nicepage-spezifisch, aber nur nachdem die JS-Erkennung den Kompatibilitätsmodus bestätigt hat. */
.single-wcg_album.wcg-nicepage-compat .u-blog-post > .u-post-header,
.single-wcg_album.wcg-nicepage-compat .u-blog-post > .u-blog-post-header {
    margin:0!important;
    padding:0!important;
    min-height:0!important;
}

.single-wcg_album.wcg-nicepage-compat article.type-wcg_album,
.single-wcg_album.wcg-nicepage-compat .entry-content,
.single-wcg_album.wcg-nicepage-compat .u-post-content,
.single-wcg_album.wcg-nicepage-compat .u-blog-post-content {
    margin-top:0!important;
    padding-top:0!important;
}

/* v6.8 verändert bewusst keine Höhen von Nicepage-Sections/Sheets mehr.
   Der frühere min-height-Fix konnte bei vertikal ausgerichteten Nicepage-Containern
   selbst einen sehr großen Leerraum oberhalb des Portfolio-Inhalts erzeugen. */
.wcg-footer-flow-spacer {
    display:block !important;
    width:1px !important;
    height:var(--wcg-footer-space, 0px) !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
}

/* Keine overflow-Regel auf body/html oder dem Layout-Wrapper: das schützt Sticky Header und die sticky Editorial-Spalte. */
.single-wcg_album .wcg-project-layout,
.single-wcg_album .wcg-editorial-info,
.single-wcg_album .wcg-editorial-gallery,
.single-wcg_album .wcg-project-header {
    min-width:0;
    max-width:100%;
}

.single-wcg_album .wcg-container,
.single-wcg_album .wcg-related-projects,
.single-wcg_album .wcg-project-nav,
.wcg-archive-page {
    max-width:100%;
    overflow-x:clip;
}

@supports not (overflow:clip) {
    .single-wcg_album .wcg-container,
    .single-wcg_album .wcg-related-projects,
    .single-wcg_album .wcg-project-nav { overflow-x:hidden; }
}

@media (prefers-reduced-motion:reduce){
    .wcg-card-bg,.wcg-cover-img,.wcg-enkre-overlay,.wcg-enkre-content,.wcg-enkre-meta,.wcg-enkre-arrow,.wcg-responsive-gallery-img,.wcg-lightbox-content,.wcg-project-nav-item,.wcg-more-projects-button{transition:none!important;animation:none!important}
}

/* Archive page */
.wcg-archive-page { width:100%; min-height:60vh; padding:clamp(38px,7vw,76px) 20px; box-sizing:border-box; overflow-x:hidden; }
.wcg-archive-inner { width:min(1200px,100%); margin:0 auto; }
.wcg-archive-title { margin:0 0 clamp(28px,5vw,48px)!important; text-align:center; font-size:clamp(1.8rem,4vw,3rem)!important; font-weight:700!important; line-height:1.1!important; text-transform:uppercase; letter-spacing:1px; }
@media (max-width:600px){.wcg-archive-page{padding:30px 14px}.wcg-archive-title{margin-bottom:26px!important}}
