/* =========================================================
   SNAPSHOT — SINGLE REALIZACJA / CASE STUDY
   Ładowany tylko dla post_type: realizacja.
========================================================= */

.case-page {
    --case-paper: #f2eee7;
    --case-black: #0b0b0b;
    --case-line: rgba(0,0,0,.15);

    width:100%;
    overflow:hidden;
    background:var(--case-paper);
    color:#111;
}


/* HERO */

.case-hero {
    min-height:650px;
    box-sizing:border-box;
    padding:205px var(--pad) 55px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

.case-hero__meta {
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:18px;
    font-size:8px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#555;
}

.case-hero__meta i {
    display:block;
    width:20px;
    height:1px;
    background:#777;
}

.case-hero__title {
    max-width:1350px;
    margin-top:65px;
}

.case-hero h1 {
    margin:0;
    font-family:var(--serif);
    font-size:clamp(52px,5vw,92px);
    line-height:.92;
    letter-spacing:-.04em;
    font-weight:400;
}

.case-hero__bottom {
    margin-top:65px;
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
}

.case-hero__bottom p {
    margin:0;
    font-size:9px;
    letter-spacing:.12em;
}

.case-hero__bottom span {
    display:block;
    margin-top:5px;
    font-size:9px;
    color:#666;
}

.case-hero__bottom > a {
    font-size:24px;
    color:#111;
}


/* COVER */

.case-cover {
    width:100%;
    margin:0;
    background:#242424;
}

.case-cover img {
    display:block;
    width:100%;
    height:auto;
    max-height:900px;
    object-fit:cover;
}

.case-cover--placeholder {
    min-height:700px;
    background:linear-gradient(135deg,#292725,#777068);
}


/* OVERVIEW */

.case-overview {
    display:grid;
    grid-template-columns:22% 48% 30%;
    padding:70px var(--pad);
    border-bottom:1px solid var(--case-line);
}

.case-overview__label p {
    margin:0;
    font-size:9px;
    letter-spacing:.14em;
}

.case-overview__label > span {
    display:block;
    width:31px;
    height:1px;
    margin:24px 0;
    background:#111;
}

.case-overview__label strong {
    font-size:9px;
    letter-spacing:.10em;
    font-weight:400;
}

.case-overview__lead {
    padding-right:70px;
}

.case-overview__lead p {
    max-width:690px;
    margin:0;
    font-family:var(--serif);
    font-size:clamp(29px,2.8vw,48px);
    line-height:1.12;
    letter-spacing:-.025em;
}

.case-overview__info {
    border-left:1px solid var(--case-line);
    padding-left:40px;
    display:grid;
    align-content:center;
    gap:24px;
}

.case-overview__info span {
    display:block;
    margin-bottom:5px;
    font-size:8px;
    letter-spacing:.13em;
    color:#777;
}

.case-overview__info strong {
    font-size:11px;
    font-weight:400;
}


/* GUTENBERG CONTENT */

.case-content {
    padding:80px 0 95px;
    background:var(--case-paper);
}

.case-content > p,
.case-content > h2,
.case-content > h3,
.case-content > h4,
.case-content > ul,
.case-content > ol,
.case-content > blockquote {
    width:min(calc(100% - 44px),820px);
    margin-left:auto;
    margin-right:auto;
}

.case-content p {
    font-size:15px;
    line-height:1.75;
}

.case-content h2 {
    font-family: var(--serif);
    font-size: clamp(30px, 2.5vw, 44px) !important;
    line-height: 1.05;
    letter-spacing: -0.02em;
    font-weight: 400;
    margin-top: 70px;
    margin-bottom: 22px;
}

.case-content h3 {
    margin-top:55px;
    margin-bottom:20px;
    font-family:var(--serif);
    font-size:31px;
    font-weight:400;
}

.case-content > figure {
    width:min(calc(100% - 80px),1500px);
    margin:75px auto;
}

.case-content figure img {
    width:100%;
    height:auto;
}

.case-content figcaption {
    margin-top:10px;
    font-size:9px;
    line-height:1.5;
    color:#777;
}

.case-content .alignwide {
    width:min(calc(100% - 80px),1700px);
    max-width:none;
    margin-left:auto;
    margin-right:auto;
}

.case-content .alignfull {
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
}

.case-content .wp-block-gallery {
    width:min(calc(100% - 80px),1500px);
    margin:75px auto;
    gap:5px !important;
}

.case-content .wp-block-gallery .wp-block-image {
    margin:0 !important;
}

.case-content blockquote {
    box-sizing:border-box;
    margin-top:75px;
    margin-bottom:75px;
    padding:15px 0 15px 40px;
    border-left:1px solid #111;
}

.case-content blockquote p {
    margin:0;
    font-family:var(--serif);
    font-size:clamp(30px,2.8vw,48px);
    line-height:1.1;
}


/* BACK */

.case-back {
    padding:35px var(--pad);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    border-top:1px solid var(--case-line);
    border-bottom:1px solid var(--case-line);
}

.case-back p {
    margin:0;
    font-size:8px;
    letter-spacing:.14em;
}

.case-back a {
    display:flex;
    align-items:center;
    gap:25px;
    font-size:9px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#111;
}

.case-back a span {
    font-size:18px;
}


/* NEXT */

.case-next {
    min-height:430px;
    display:grid;
    grid-template-columns:42% 58%;
    background:#0b0b0b;
    color:#fff;
}

.case-next__copy {
    padding:60px var(--pad);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.case-next__copy > p {
    margin:0 0 22px;
    font-size:8px;
    letter-spacing:.16em;
    color:rgba(255,255,255,.55);
}

.case-next h2 {
    margin:0;
    font-family:var(--serif);
    font-size:clamp(45px,4.4vw,78px);
    line-height:.93;
    font-weight:400;
}

.case-next__copy > a {
    display:inline-flex;
    align-items:center;
    gap:24px;
    margin-top:32px;
    color:#fff;
    font-size:9px;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.case-next__copy > a span {
    font-size:18px;
}

.case-next__image {
    min-height:430px;
    background:linear-gradient(135deg,#38332f,#151515);
    background-size:cover;
    background-position:center;
}


/* HEADER NA JASNYM HERO */

body.single-realizacja .site-header,
body.single-realizacja .site-header.is-scrolled {
    color:#111 !important;
}

body.single-realizacja .site-nav--desktop a,
body.single-realizacja .site-contact-link,
body.single-realizacja .site-lang {
    color:#111 !important;
}

body.single-realizacja .site-nav--desktop a::after,
body.single-realizacja .site-contact-link::after {
    background:#111 !important;
}

body.single-realizacja .site-brand img {
    filter:none !important;
}


/* TABLET */

@media (max-width:1050px) {
    .case-overview {
        grid-template-columns:25% 75%;
    }

    .case-overview__info {
        grid-column:1 / -1;
        margin-top:50px;
        padding:35px 0 0;
        grid-template-columns:repeat(3,1fr);
        border-left:0;
        border-top:1px solid var(--case-line);
    }
}


/* MOBILE */

@media (max-width:760px) {

    .case-hero__meta {
        gap:10px;
    }

    .case-hero__title {
        margin-top:50px;
    }

    .case-hero h1 {
        font-size:11vw;
        line-height:.95;
    }

    .case-cover--placeholder {
        min-height:90vw;
    }

    .case-overview {
        display:block;
        padding:50px 22px;
    }

    .case-overview__lead {
        margin-top:45px;
        padding:0;
    }

    .case-overview__lead p {
        font-size:8.5vw;
    }

    .case-overview__info {
        margin-top:45px;
        display:block;
    }

    .case-overview__info > div {
        margin-bottom:25px;
    }

    .case-content {
        padding:55px 0;
    }

    .case-content > figure,
    .case-content .alignwide,
    .case-content .wp-block-gallery {
        width:calc(100% - 44px);
        margin:50px auto;
    }

    .case-back {
        padding:30px 22px;
        display:block;
    }

    .case-back a {
        margin-top:15px;
    }

    .case-next {
        display:block;
    }

    .case-next__copy {
        padding:55px 22px;
    }

    .case-next h2 {
        font-size:13vw;
    }

    .case-next__image {
        display:block;
        min-height:85vw;
    }
}

/* Header on light case hero: dark at top, white after scroll */
body.single-realizacja .site-header:not(.is-scrolled) {
    color: #111 !important;
}
body.single-realizacja .site-header:not(.is-scrolled) .site-nav--desktop a,
body.single-realizacja .site-header:not(.is-scrolled) .site-contact-link,
body.single-realizacja .site-header:not(.is-scrolled) .site-lang {
    color: #111 !important;
}
body.single-realizacja .site-header:not(.is-scrolled) .site-brand img {
    filter: none !important;
}
body.single-realizacja .site-header.is-scrolled {
    color: #fff !important;
}
body.single-realizacja .site-header.is-scrolled .site-nav--desktop a,
body.single-realizacja .site-header.is-scrolled .site-contact-link,
body.single-realizacja .site-header.is-scrolled .site-lang {
    color: #fff !important;
}
body.single-realizacja .site-header.is-scrolled .site-brand img {
    filter: invert(1) !important;
}

/* Responsive Fix 1 — kolor istniejącego headera realizacji. */
@media (max-width: 1080px) {
    body.single-realizacja .menu-toggle {
        color: inherit;
    }
}
