:root {
    --stagefolio-bg:#0d0e10;
    --stagefolio-surface:#17191d;
    --stagefolio-text:#f5f5f2;
    --stagefolio-muted:#a7a9ad;
    --stagefolio-accent:#ffffff;
    --stagefolio-line:color-mix(in srgb,var(--stagefolio-text) 14%, transparent);
    --stagefolio-radius:18px;
    --stagefolio-card-ratio:4/5;
    --stagefolio-heading-font:inherit;
    --stagefolio-body-font:inherit;
}
.stagefolio-single, .stagefolio-portfolio { font-family:var(--stagefolio-body-font); }
.stagefolio-single { background:var(--stagefolio-bg); color:var(--stagefolio-text); min-height:100vh; }
.stagefolio-project { margin:0; }
.stagefolio-hero { position:relative; min-height:54vh; display:flex; align-items:flex-end; overflow:hidden; background:linear-gradient(135deg,var(--stagefolio-surface),var(--stagefolio-bg)); }
.stagefolio-hero.has-image { min-height:min(78vh,860px); }
.stagefolio-hero-image { position:absolute; inset:0; }
.stagefolio-hero-image img { width:100%; height:100%; object-fit:cover; display:block; }
.stagefolio-hero-shade { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.84) 0%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.05) 100%); }
.stagefolio-hero-inner { position:relative; z-index:1; width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:110px 0 64px; }
.stagefolio-hero h1, .stagefolio-section-title h2, .stagefolio-card h3 { font-family:var(--stagefolio-heading-font); }
.stagefolio-hero h1 { color:#fff; font-size:clamp(46px,8vw,108px); line-height:.92; letter-spacing:-.045em; max-width:1050px; margin:0; text-wrap:balance; }
.stagefolio-shell { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:88px 0 110px; }
.stagefolio-cover-content { display:grid; gap:clamp(34px,5vw,72px); align-items:start; margin:0 0 92px; }
.stagefolio-cover-content.has-text.has-image { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.stagefolio-cover-content.has-text:not(.has-image), .stagefolio-cover-content.has-image:not(.has-text) { grid-template-columns:1fr; }
.stagefolio-cover-text { max-width:560px; font-size:clamp(18px,1.65vw,24px); line-height:1.62; color:var(--stagefolio-text); }
.stagefolio-cover-text > *:first-child { margin-top:0; }
.stagefolio-cover-text > *:last-child { margin-bottom:0; }
.stagefolio-cover-text a { color:var(--stagefolio-accent); text-decoration-thickness:1px; text-underline-offset:3px; }
.stagefolio-cover-image { margin:0; width:100%; max-width:420px; aspect-ratio:9/16; overflow:hidden; border-radius:var(--stagefolio-radius); background:var(--stagefolio-surface); justify-self:end; }
.stagefolio-cover-content.has-image:not(.has-text) .stagefolio-cover-image { max-width:420px; justify-self:start; }
.stagefolio-cover-image img { width:100%; height:100%; display:block; object-fit:cover; }
.stagefolio-project-table { margin:0 0 76px; border-top:1px solid var(--stagefolio-line); }
.stagefolio-project-table dl { margin:0; }
.stagefolio-project-row { display:grid; grid-template-columns:minmax(160px,220px) minmax(0,1fr); gap:34px; padding:22px 0; border-bottom:1px solid var(--stagefolio-line); }
.stagefolio-project-row dt { color:var(--stagefolio-muted); text-transform:uppercase; font-size:11px; line-height:1.5; letter-spacing:.11em; font-weight:700; }
.stagefolio-project-row dd { margin:0; color:var(--stagefolio-text); }
.stagefolio-project-row-description { padding-top:28px; padding-bottom:34px; }
.stagefolio-content { max-width:860px; font-size:clamp(17px,1.5vw,20px); line-height:1.75; }
.stagefolio-content > *:first-child { margin-top:0; }
.stagefolio-content a { color:var(--stagefolio-accent); text-decoration-thickness:1px; text-underline-offset:3px; }
.stagefolio-table-text { font-size:16px; line-height:1.7; }
.stagefolio-table-text > *:first-child { margin-top:0; }
.stagefolio-table-text > *:last-child { margin-bottom:0; }
.stagefolio-links-in-table { margin:0; }
.stagefolio-links { display:flex; flex-wrap:wrap; gap:10px; margin:30px 0 76px; }
.stagefolio-links a { display:inline-flex; gap:18px; align-items:center; padding:11px 16px; border:1px solid var(--stagefolio-line); border-radius:999px; color:var(--stagefolio-text); text-decoration:none; transition:.2s ease; }
.stagefolio-links a:hover { background:var(--stagefolio-accent); color:var(--stagefolio-bg); border-color:var(--stagefolio-accent); }
.stagefolio-section-title { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:20px; }
.stagefolio-section-title h2 { color:var(--stagefolio-text); font-size:clamp(32px,5vw,64px); line-height:1; letter-spacing:-.035em; margin:0; }
.stagefolio-section-title p { color:var(--stagefolio-muted); margin:0; }
.stagefolio-gallery-section, .stagefolio-media-section { margin-top:90px; }
.stagefolio-slider { position:relative; }
.stagefolio-slider-track { display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:var(--stagefolio-radius); }
.stagefolio-slider-track::-webkit-scrollbar { display:none; }
.stagefolio-slide { flex:0 0 88%; scroll-snap-align:start; margin:0; }
.stagefolio-slide img { width:100%; height:min(70vh,720px); object-fit:cover; display:block; border-radius:var(--stagefolio-radius); }
.stagefolio-slide figcaption { color:var(--stagefolio-muted); font-size:13px; margin:9px 4px 0; }
.stagefolio-slider-button { position:absolute; top:50%; transform:translateY(-50%); width:50px; height:50px; border-radius:50%; border:1px solid rgba(255,255,255,.28); background:rgba(0,0,0,.48); color:#fff; backdrop-filter:blur(8px); cursor:pointer; z-index:2; font-size:20px; }
.stagefolio-slider-button.is-prev { left:18px; }
.stagefolio-slider-button.is-next { right:18px; }
.stagefolio-slider-count { position:absolute; right:18px; bottom:18px; z-index:2; padding:7px 10px; background:rgba(0,0,0,.55); border-radius:999px; font-size:12px; letter-spacing:.06em; }
.stagefolio-media-grid { display:grid; gap:24px; }
.stagefolio-media-item { background:#000; border-radius:var(--stagefolio-radius); overflow:hidden; }
.stagefolio-media-item iframe, .stagefolio-media-item video { width:100%; max-width:100%; }
.stagefolio-embed { position:relative; }
.stagefolio-embed iframe { display:block; width:100%; aspect-ratio:16/9; height:auto; }
.stagefolio-media-link a { color:var(--stagefolio-accent); }

.stagefolio-portfolio { width:100%; }
.stagefolio-grid { display:grid; gap:18px; }
.stagefolio-grid-1 { grid-template-columns:1fr; }
.stagefolio-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.stagefolio-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.stagefolio-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.stagefolio-card { margin:0; min-width:0; }
.stagefolio-card-link { display:block; color:#fff; text-decoration:none!important; }
.stagefolio-card-media { position:relative; aspect-ratio:var(--stagefolio-card-ratio); overflow:hidden; border-radius:var(--stagefolio-radius); background:var(--stagefolio-surface); }
.stagefolio-card-media img, .stagefolio-card-placeholder { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.stagefolio-card-placeholder { background:linear-gradient(145deg,var(--stagefolio-surface),#15171a); }
.stagefolio-card-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:22px; background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,.08) 66%); }
.stagefolio-card h3 { color:#fff!important; margin:0!important; font-size:clamp(24px,2.2vw,38px)!important; line-height:.98!important; letter-spacing:-.035em; text-wrap:balance; }
.stagefolio-card:hover .stagefolio-card-media img { transform:scale(1.035); }
.stagefolio-card:hover .stagefolio-card-media { box-shadow:0 18px 50px rgba(0,0,0,.18); }
.stagefolio-empty { opacity:.7; }
.stagefolio-single-card-shortcode { width:min(100%,420px); }

@media (max-width:900px) {
    .stagefolio-cover-content.has-text.has-image { grid-template-columns:1fr; }
    .stagefolio-cover-text { max-width:760px; }
    .stagefolio-grid-4, .stagefolio-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .stagefolio-slide { flex-basis:94%; }
}
@media (max-width:620px) {
    .stagefolio-hero-inner, .stagefolio-shell { width:min(100% - 28px,1180px); }
    .stagefolio-hero-inner { padding-bottom:38px; }
    .stagefolio-shell { padding-top:56px; }
    .stagefolio-cover-content { gap:28px; margin-bottom:62px; }
    .stagefolio-cover-text { font-size:18px; line-height:1.6; }
    .stagefolio-project-table { margin-bottom:54px; }
    .stagefolio-project-row { grid-template-columns:105px minmax(0,1fr); gap:16px; padding:18px 0; }
    .stagefolio-project-row-description { padding-top:22px; padding-bottom:26px; }
    .stagefolio-grid-4, .stagefolio-grid-3, .stagefolio-grid-2 { grid-template-columns:1fr; }
    .stagefolio-card-media { aspect-ratio:16/11; }
    .stagefolio-section-title { display:block; }
    .stagefolio-section-title p { margin-top:8px; }
    .stagefolio-slider-button { width:42px; height:42px; }
}
@media (prefers-reduced-motion:reduce) {
    .stagefolio-card-media img { transition:none; }
    .stagefolio-slider-track { scroll-behavior:auto; }
}

/* Stagefolio 1.7.0 – czytelniejsza tabela, nawigacja i subtelny ruch */
.stagefolio-back-link {
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin:0 0 58px;
    color:var(--stagefolio-text);
    font-size:13px;
    line-height:1;
    font-weight:750;
    letter-spacing:.09em;
    text-transform:uppercase;
    text-decoration:none;
    opacity:.9;
    transition:opacity .2s ease;
}
.stagefolio-back-arrow {
    display:inline-block;
    font-size:20px;
    line-height:1;
    transform:translateX(0);
    transition:transform .25s cubic-bezier(.2,.7,.2,1);
}
.stagefolio-back-link:hover { opacity:1; }
.stagefolio-back-link:hover .stagefolio-back-arrow { transform:translateX(-5px); }
.stagefolio-back-link:focus-visible {
    outline:2px solid var(--stagefolio-accent);
    outline-offset:7px;
    border-radius:2px;
}

.stagefolio-project-table {
    border-top:1px solid color-mix(in srgb,var(--stagefolio-text) 25%,transparent);
}
.stagefolio-project-row {
    position:relative;
    grid-template-columns:minmax(185px,220px) minmax(0,1fr);
    gap:48px;
    padding:25px 18px;
    margin:0 -18px;
    border-bottom:1px solid color-mix(in srgb,var(--stagefolio-text) 19%,transparent);
    transition:background-color .25s ease;
}
.stagefolio-project-row:hover {
    background:color-mix(in srgb,var(--stagefolio-text) 2.8%,transparent);
}
.stagefolio-project-row dt {
    display:flex;
    align-items:flex-start;
    gap:11px;
    color:var(--stagefolio-text);
    opacity:1;
    font-size:13px;
    line-height:1.45;
    letter-spacing:.12em;
    font-weight:800;
}
.stagefolio-project-row dt::before {
    content:"";
    width:18px;
    height:1px;
    margin-top:.66em;
    flex:0 0 18px;
    background:currentColor;
    opacity:.5;
}
.stagefolio-project-row dd {
    font-size:17px;
    line-height:1.68;
    font-weight:480;
}
.stagefolio-project-row-description {
    padding-top:32px;
    padding-bottom:38px;
}
.stagefolio-project-row-description dt { padding-top:3px; }
.stagefolio-content {
    font-size:clamp(18px,1.55vw,21px);
    line-height:1.72;
}
.stagefolio-table-text {
    font-size:17px;
    line-height:1.72;
}

/* Elementy są ukrywane dopiero przez JS – bez JS treść pozostaje w pełni widoczna. */
.stagefolio-reveal {
    opacity:0;
    transform:translateY(18px);
    transition:
        opacity .7s cubic-bezier(.2,.7,.2,1),
        transform .7s cubic-bezier(.2,.7,.2,1);
    transition-delay:var(--stagefolio-reveal-delay,0ms);
    will-change:opacity,transform;
}
.stagefolio-reveal.stagefolio-reveal-soft {
    transform:translateY(10px);
}
.stagefolio-reveal.is-visible {
    opacity:1;
    transform:translateY(0);
}
.stagefolio-hero h1.stagefolio-reveal {
    transform:translateY(24px);
    transition-duration:.85s;
}
.stagefolio-card.stagefolio-reveal {
    transform:translateY(14px) scale(.992);
}
.stagefolio-card.stagefolio-reveal.is-visible {
    transform:translateY(0) scale(1);
}

@media (max-width:620px) {
    .stagefolio-back-link { margin-bottom:42px; }
    .stagefolio-project-row {
        grid-template-columns:112px minmax(0,1fr);
        gap:18px;
        padding:20px 0;
        margin:0;
    }
    .stagefolio-project-row dt {
        gap:7px;
        font-size:11.5px;
        letter-spacing:.09em;
    }
    .stagefolio-project-row dt::before {
        width:10px;
        flex-basis:10px;
    }
    .stagefolio-project-row dd,
    .stagefolio-table-text { font-size:16px; }
}

@media (prefers-reduced-motion:reduce) {
    .stagefolio-reveal,
    .stagefolio-hero h1.stagefolio-reveal,
    .stagefolio-card.stagefolio-reveal {
        opacity:1!important;
        transform:none!important;
        transition:none!important;
    }
    .stagefolio-back-arrow { transition:none; }
}

/* Stagefolio 1.8.0 – personalizacja tytułu kafla i sekcja Nagrody */
.stagefolio-card h3 {
    display:inline-block;
    width:fit-content;
    max-width:100%;
    color:var(--stagefolio-card-title-color,#fff)!important;
    font-size:var(--stagefolio-card-title-size,38px)!important;
    background:color-mix(in srgb,var(--stagefolio-card-title-bg-color,#000) var(--stagefolio-card-title-bg-opacity,0%),transparent);
    padding:var(--stagefolio-card-title-padding,0);
    border-radius:calc(var(--stagefolio-radius) * .28);
    box-decoration-break:clone;
    -webkit-box-decoration-break:clone;
}
.stagefolio-awards-section { margin-top:90px; }
.stagefolio-awards-text {
    max-width:900px;
    color:var(--stagefolio-text);
    font-size:clamp(18px,1.55vw,21px);
    line-height:1.72;
}
.stagefolio-awards-text > *:first-child { margin-top:0; }
.stagefolio-awards-text > *:last-child { margin-bottom:0; }
.stagefolio-awards-text a { color:var(--stagefolio-accent); text-underline-offset:3px; }
.stagefolio-awards-media { margin-top:30px; }
.stagefolio-media-image { margin:0; background:transparent; }
.stagefolio-media-image img { width:100%; height:auto; display:block; border-radius:var(--stagefolio-radius); }
@media (max-width:620px) {
    .stagefolio-card h3 { font-size:min(var(--stagefolio-card-title-size,38px),9vw)!important; }
    .stagefolio-awards-section { margin-top:70px; }
}

/* Stagefolio 2.0.0 – rozbudowane warianty katalogu i sterowanie wyglądem */
.stagefolio-hero.has-image { min-height:min(var(--stagefolio-hero-height,78vh), 920px); }
.stagefolio-hero-inner,
.stagefolio-shell { width:min(var(--stagefolio-content-width,1180px),calc(100% - 40px)); }
.stagefolio-hero h1 { font-size:clamp(46px,8vw,var(--stagefolio-hero-title-max,108px)); }
.stagefolio-gallery-section,
.stagefolio-media-section,
.stagefolio-awards-section { margin-top:var(--stagefolio-section-spacing,90px); }
.stagefolio-cover-content { margin-bottom:var(--stagefolio-section-spacing,90px); }
.stagefolio-project-table { margin-bottom:calc(var(--stagefolio-section-spacing,90px) * .84); }

.stagefolio-project-row {
    grid-template-columns:minmax(110px,var(--stagefolio-table-label-width,220px)) minmax(0,1fr);
    padding-top:var(--stagefolio-table-row-padding,25px);
    padding-bottom:var(--stagefolio-table-row-padding,25px);
    border-bottom-color:color-mix(in srgb,var(--stagefolio-text) var(--stagefolio-table-line-opacity,19%),transparent);
}
.stagefolio-project-table { border-top-color:color-mix(in srgb,var(--stagefolio-text) var(--stagefolio-table-line-opacity,19%),transparent); }
.stagefolio-project-row dt {
    color:var(--stagefolio-table-label-color,var(--stagefolio-text));
    font-size:var(--stagefolio-table-label-size,13px);
}
.stagefolio-project-row dd,
.stagefolio-table-text { font-size:var(--stagefolio-table-value-size,17px); }

.stagefolio-slider-track { gap:var(--stagefolio-gallery-gap,14px); }
.stagefolio-slide { flex-basis:var(--stagefolio-gallery-slide-width,88%); }
.stagefolio-slide img { height:min(var(--stagefolio-gallery-height,70vh),760px); }

.stagefolio-portfolio {
    --stagefolio-card-ratio-local:var(--stagefolio-instance-ratio,var(--stagefolio-card-ratio,4/5));
    --stagefolio-card-radius-local:var(--stagefolio-instance-radius,var(--stagefolio-radius,18px));
    --stagefolio-card-title-size-local:var(--stagefolio-instance-title-size,var(--stagefolio-card-title-size,38px));
    --stagefolio-catalog-gap-local:var(--stagefolio-instance-gap,var(--stagefolio-catalog-gap,18px));
}
.stagefolio-grid { display:grid; gap:var(--stagefolio-catalog-gap-local); }
.stagefolio-columns-1 .stagefolio-grid { grid-template-columns:1fr; }
.stagefolio-columns-2 .stagefolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.stagefolio-columns-3 .stagefolio-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.stagefolio-columns-4 .stagefolio-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.stagefolio-columns-5 .stagefolio-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.stagefolio-columns-6 .stagefolio-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.stagefolio-portfolio .stagefolio-card-media {
    aspect-ratio:var(--stagefolio-card-ratio-local);
    border-radius:var(--stagefolio-card-radius-local);
}
.stagefolio-portfolio .stagefolio-card h3 {
    font-size:var(--stagefolio-card-title-size-local)!important;
    font-weight:var(--stagefolio-card-title-weight,700)!important;
}
.stagefolio-portfolio .stagefolio-card-overlay {
    background:linear-gradient(to top,
        color-mix(in srgb,#000 var(--stagefolio-card-overlay-opacity,82%),transparent) 0%,
        rgba(0,0,0,.08) 68%);
}
.stagefolio-card:hover .stagefolio-card-media img { transform:scale(var(--stagefolio-card-hover-scale,1.035)); }

/* Editorial */
.stagefolio-layout-editorial .stagefolio-card-link,
.stagefolio-layout-compact .stagefolio-card-link { color:var(--stagefolio-text); }
.stagefolio-card-caption { padding:14px 2px 2px; }
.stagefolio-card-caption h3 {
    display:block;
    width:auto;
    max-width:none;
    padding:0;
    background:none;
    border-radius:0;
    color:var(--stagefolio-text)!important;
    line-height:1.04!important;
}
.stagefolio-card-caption p {
    margin:8px 0 0;
    color:var(--stagefolio-muted);
    font-size:13px;
    line-height:1.45;
}
.stagefolio-layout-editorial .stagefolio-card-media { aspect-ratio:16/10; }
.stagefolio-layout-editorial .stagefolio-card h3 { font-size:clamp(22px,2.1vw,var(--stagefolio-card-title-size-local))!important; }

/* Compact */
.stagefolio-layout-compact .stagefolio-grid { gap:calc(var(--stagefolio-catalog-gap-local) * .8); }
.stagefolio-layout-compact .stagefolio-card-caption { padding-top:9px; }
.stagefolio-layout-compact .stagefolio-card h3 { font-size:clamp(17px,1.55vw,26px)!important; line-height:1.08!important; }

/* List */
.stagefolio-list { display:grid; gap:0; border-top:1px solid color-mix(in srgb,var(--stagefolio-text) 16%,transparent); }
.stagefolio-layout-list .stagefolio-card { border-bottom:1px solid color-mix(in srgb,var(--stagefolio-text) 16%,transparent); }
.stagefolio-layout-list .stagefolio-card-link {
    display:grid;
    grid-template-columns:minmax(180px,320px) minmax(0,1fr);
    gap:clamp(24px,5vw,72px);
    align-items:center;
    padding:22px 0;
    color:var(--stagefolio-text);
}
.stagefolio-layout-list .stagefolio-card-media { aspect-ratio:16/9; }
.stagefolio-layout-list .stagefolio-card-caption { padding:0; }
.stagefolio-layout-list .stagefolio-card h3 { font-size:clamp(28px,4vw,58px)!important; }
.stagefolio-layout-list .stagefolio-card-caption p { font-size:14px; }

/* Strip / carousel */
.stagefolio-catalog-slider { position:relative; }
.stagefolio-catalog-track {
    display:flex;
    gap:var(--stagefolio-catalog-gap-local);
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding-bottom:2px;
}
.stagefolio-catalog-track::-webkit-scrollbar { display:none; }
.stagefolio-layout-strip .stagefolio-card,
.stagefolio-layout-carousel .stagefolio-card {
    flex:0 0 clamp(240px,31vw,430px);
    scroll-snap-align:start;
}
.stagefolio-layout-strip .stagefolio-card-media,
.stagefolio-layout-carousel .stagefolio-card-media { aspect-ratio:var(--stagefolio-card-ratio-local); }
.stagefolio-catalog-nav {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    z-index:5;
    width:48px;
    height:48px;
    border-radius:999px;
    border:1px solid color-mix(in srgb,var(--stagefolio-text) 25%,transparent);
    background:color-mix(in srgb,var(--stagefolio-bg) 78%,transparent);
    color:var(--stagefolio-text);
    cursor:pointer;
    backdrop-filter:blur(8px);
    font-size:20px;
}
.stagefolio-catalog-nav.is-prev { left:14px; }
.stagefolio-catalog-nav.is-next { right:14px; }

/* Masonry */
.stagefolio-masonry { column-gap:var(--stagefolio-catalog-gap-local); }
.stagefolio-columns-1 .stagefolio-masonry { column-count:1; }
.stagefolio-columns-2 .stagefolio-masonry { column-count:2; }
.stagefolio-columns-3 .stagefolio-masonry { column-count:3; }
.stagefolio-columns-4 .stagefolio-masonry { column-count:4; }
.stagefolio-columns-5 .stagefolio-masonry { column-count:5; }
.stagefolio-columns-6 .stagefolio-masonry { column-count:6; }
.stagefolio-layout-masonry .stagefolio-card {
    break-inside:avoid;
    display:inline-block;
    width:100%;
    margin:0 0 var(--stagefolio-catalog-gap-local);
}
.stagefolio-layout-masonry .stagefolio-card-media { aspect-ratio:auto; min-height:260px; }
.stagefolio-layout-masonry .stagefolio-card-media img { height:auto; min-height:260px; }
.stagefolio-layout-masonry .stagefolio-card-overlay { min-height:100%; }

/* Samodzielne komponenty shortcode */
.stagefolio-component { font-family:var(--stagefolio-body-font); }
.stagefolio-hero.stagefolio-component { border-radius:var(--stagefolio-radius); min-height:min(64vh,760px); }
.stagefolio-hero.stagefolio-component .stagefolio-hero-inner { width:min(var(--stagefolio-content-width),calc(100% - 40px)); }
.stagefolio-project-table.stagefolio-component { color:var(--stagefolio-text); font-family:var(--stagefolio-body-font); }

/* Animacje sterowane z panelu */
.stagefolio-reveal {
    transform:translateY(var(--stagefolio-animation-distance,18px));
    transition-duration:var(--stagefolio-animation-duration,700ms);
}
.stagefolio-reveal.stagefolio-reveal-soft { transform:translateY(calc(var(--stagefolio-animation-distance,18px) * .6)); }
.stagefolio-hero h1.stagefolio-reveal { transform:translateY(calc(var(--stagefolio-animation-distance,18px) * 1.35)); }
.stagefolio-card.stagefolio-reveal { transform:translateY(calc(var(--stagefolio-animation-distance,18px) * .8)) scale(.992); }

@media (max-width:1100px) {
    .stagefolio-columns-5 .stagefolio-grid,
    .stagefolio-columns-6 .stagefolio-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .stagefolio-columns-5 .stagefolio-masonry,
    .stagefolio-columns-6 .stagefolio-masonry { column-count:3; }
}
@media (max-width:900px) {
    .stagefolio-columns-3 .stagefolio-grid,
    .stagefolio-columns-4 .stagefolio-grid,
    .stagefolio-columns-5 .stagefolio-grid,
    .stagefolio-columns-6 .stagefolio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .stagefolio-columns-3 .stagefolio-masonry,
    .stagefolio-columns-4 .stagefolio-masonry,
    .stagefolio-columns-5 .stagefolio-masonry,
    .stagefolio-columns-6 .stagefolio-masonry { column-count:2; }
}
@media (max-width:620px) {
    .stagefolio-portfolio .stagefolio-grid { grid-template-columns:1fr!important; }
    .stagefolio-masonry { column-count:1!important; }
    .stagefolio-layout-list .stagefolio-card-link { grid-template-columns:1fr; gap:15px; }
    .stagefolio-layout-list .stagefolio-card h3 { font-size:clamp(26px,8vw,42px)!important; }
    .stagefolio-layout-strip .stagefolio-card,
    .stagefolio-layout-carousel .stagefolio-card { flex-basis:82vw; }
    .stagefolio-project-row { grid-template-columns:minmax(92px,34%) minmax(0,1fr); }
}


/* Stagefolio 2.0.1 – podtytuły projektów i czystsze etykiety tabeli */
.stagefolio-project-row dt {
    gap:0;
}
.stagefolio-project-row dt::before {
    content:none!important;
    display:none!important;
}
.stagefolio-hero-subtitle {
    margin:clamp(12px,1.6vw,20px) 0 0;
    max-width:900px;
    color:#fff;
    font-family:var(--stagefolio-body-font);
    font-size:clamp(18px,2vw,28px);
    line-height:1.25;
    font-weight:400;
    letter-spacing:-.01em;
    opacity:.88;
    text-wrap:balance;
}
.stagefolio-card-subtitle {
    margin:8px 0 0!important;
    color:var(--stagefolio-card-title-color,#fff)!important;
    font-family:var(--stagefolio-body-font);
    font-size:clamp(14px,1.15vw,18px)!important;
    line-height:1.3!important;
    font-weight:400!important;
    letter-spacing:0!important;
    opacity:.88;
    text-wrap:balance;
}
.stagefolio-card-caption .stagefolio-card-subtitle {
    color:var(--stagefolio-text)!important;
    margin-top:7px!important;
}
.stagefolio-card-meta {
    margin-top:8px!important;
}
.stagefolio-layout-compact .stagefolio-card-subtitle {
    font-size:14px!important;
    margin-top:5px!important;
}
.stagefolio-layout-list .stagefolio-card-subtitle {
    font-size:clamp(16px,1.45vw,21px)!important;
    margin-top:10px!important;
}
@media (max-width:620px) {
    .stagefolio-hero-subtitle { font-size:18px; }
    .stagefolio-card-subtitle { font-size:14px!important; }
}


/* Stagefolio 2.0.2 – slider galerii bezpośrednio pod nawigacją */
.stagefolio-single .stagefolio-gallery-primary {
    margin-top:0;
    margin-bottom:var(--stagefolio-section-spacing,90px);
}
@media (max-width:620px) {
    .stagefolio-single .stagefolio-gallery-primary {
        margin-bottom:calc(var(--stagefolio-section-spacing,90px) * .72);
    }
}


/* Stagefolio 2.0.4 – izolacja katalogu od CSS motywu / buildera */
.stagefolio-portfolio[data-stagefolio-portfolio] {
    display:block!important;
    position:relative!important;
    clear:both!important;
    float:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    isolation:isolate;
}
.stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid {
    display:grid!important;
    width:100%!important;
    min-width:0!important;
    float:none!important;
    position:relative!important;
    gap:var(--stagefolio-catalog-gap-local,18px)!important;
}
.stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid-1 { grid-template-columns:1fr!important; }
.stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
.stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
.stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid-4 { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
.stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid-5 { grid-template-columns:repeat(5,minmax(0,1fr))!important; }
.stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid-6 { grid-template-columns:repeat(6,minmax(0,1fr))!important; }
.stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-card {
    display:block!important;
    position:relative!important;
    float:none!important;
    clear:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
}
.stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-card-link {
    display:block!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
}
.stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-card-media {
    display:block!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
}
.stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-card-media > img {
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
}
@media (max-width:900px) {
    .stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid-3,
    .stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid-4,
    .stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid-5,
    .stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid-6 { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
@media (max-width:620px) {
    .stagefolio-portfolio[data-stagefolio-portfolio] .stagefolio-grid { grid-template-columns:1fr!important; }
}


/* Stagefolio 2.0.7 – tytuły w jednej linii, odstęp podtytułu, mobile slider i plakat */
.stagefolio-hero-inner,
.stagefolio-card-overlay,
.stagefolio-card-caption { min-width:0; }

.stagefolio-hero h1,
.stagefolio-card h3 {
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    overflow:visible;
    max-width:100%!important;
}

.stagefolio-hero-subtitle {
    display:block;
    margin-top:clamp(14px,1.5vw,22px)!important;
    margin-left:0!important;
    padding-left:0!important;
    text-align:left;
}

.stagefolio-card-subtitle {
    display:block;
    margin-top:12px!important;
    margin-left:0!important;
    padding-left:0!important;
    text-align:left;
}
.stagefolio-card-caption .stagefolio-card-subtitle { margin-top:10px!important; }
.stagefolio-layout-compact .stagefolio-card-subtitle { margin-top:8px!important; }
.stagefolio-layout-list .stagefolio-card-subtitle { margin-top:12px!important; }

.stagefolio-poster-section {
    margin-top:var(--stagefolio-section-spacing,90px);
    padding-bottom:8px;
}
.stagefolio-poster {
    width:min(100%,460px);
    aspect-ratio:9/16;
    margin:0;
    overflow:hidden;
    border-radius:var(--stagefolio-radius);
    background:var(--stagefolio-surface);
}
.stagefolio-poster img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

@media (max-width:620px) {
    .stagefolio-slider-button { display:none!important; }
    .stagefolio-hero-subtitle { margin-top:10px!important; }
    .stagefolio-card-subtitle { margin-top:8px!important; }
    .stagefolio-poster { width:min(100%,360px); }
}


/* Stagefolio 2.0.9 – korekty wyłącznie profilu projektu */
/* Hero: tytuł i podtytuł mają dokładnie tę samą lewą krawędź. */
.stagefolio-single .stagefolio-hero h1,
.stagefolio-single .stagefolio-hero-subtitle {
    margin-left:0!important;
    padding-left:0!important;
    text-align:left!important;
}
.stagefolio-single .stagefolio-hero-subtitle {
    margin-top:clamp(18px,1.45vw,24px)!important;
}

/* Tabela: etykieta i wartość są wyrównane do wspólnej pierwszej linii bazowej. */
.stagefolio-single .stagefolio-project-row {
    align-items:baseline!important;
}
.stagefolio-single .stagefolio-project-row dt {
    display:block!important;
    align-self:baseline!important;
    margin:0!important;
    padding:0!important;
    line-height:1.35!important;
}
.stagefolio-single .stagefolio-project-row dd {
    align-self:baseline!important;
    margin:0!important;
    padding-top:0!important;
    line-height:1.35!important;
}
.stagefolio-single .stagefolio-project-row-description dt {
    padding-top:0!important;
}
.stagefolio-single .stagefolio-project-row .stagefolio-table-text,
.stagefolio-single .stagefolio-project-row .stagefolio-content {
    line-height:1.7!important;
}

@media (max-width:620px) {
    .stagefolio-single .stagefolio-hero-subtitle {
        margin-top:14px!important;
    }
}
