/* ================================================================
   pf-cosmos.css - Portfolio w designie Orbita
   templates/page-portfolio-neural.php (/portfolio/) + single-portfolio.php

   Karty realizacji (.pf-card, ramka przeglądarki, przewijanie po najechaniu)
   są wspólne - home-cosmos.css. Tutaj: hero z podglądem, filtry, sekcje
   strony portfolio i widok pojedynczej realizacji.
   ================================================================ */

/* ── HERO /portfolio/ - ramki przeglądarki na horyzoncie ── */
.pf-hero .cz-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pf-stage{position:relative;justify-self:end;width:100%;max-width:600px;aspect-ratio:600/500;container-type:inline-size}
.pf-stage__bar{display:flex;align-items:center;gap:1.1cqw;height:4.6cqw;padding:0 2cqw;background:#10152E;border-bottom:1px solid rgba(165,180,252,.14)}
.pf-stage__bar i{width:1.3cqw;height:1.3cqw;border-radius:50%;background:rgba(232,234,246,.22)}
.pf-stage__bar em{flex:1;min-width:0;margin-left:1.4cqw;padding:0 1.6cqw;border-radius:1cqw;background:rgba(255,255,255,.05);font:500 1.7cqw/2.9cqw var(--cz-mono);font-style:normal;color:var(--cz-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-stage__front,.pf-stage__back{position:absolute;overflow:hidden;border-radius:2.4cqw;background:#0A0F1E;border:1px solid rgba(165,180,252,.2);box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.pf-stage__front{left:0;top:10cqw;width:84cqw;z-index:3}
.pf-stage__view{position:relative;height:47cqw;overflow:hidden}
.pf-stage__img{display:block;width:100%;height:auto;transform:translate3d(0,0,0);will-change:transform}
.pf-stage.is-scrolling .pf-stage__img{animation:pfScroll var(--pf-time,26s) ease-in-out infinite}
.pf-stage:hover .pf-stage__img{animation-play-state:paused}
.pf-stage__back{width:62cqw;opacity:.6;filter:saturate(.8)}
.pf-stage__back img{display:block;width:100%;height:auto}
.pf-stage__back--1{right:0;top:2cqw;transform:rotate(3deg);z-index:1}
.pf-stage__back--2{left:6cqw;top:40cqw;width:58cqw;transform:rotate(-3deg);z-index:2;opacity:.7}
.pf-stage__phone{position:absolute;right:2cqw;bottom:0;z-index:4;width:21cqw;padding:1.1cqw;border-radius:4.4cqw;background:#0B0F24;border:1px solid rgba(165,180,252,.28);box-shadow:0 30px 60px -24px rgba(0,0,0,.9)}
.pf-stage__phone img{display:block;width:100%;height:auto;aspect-ratio:390/760;object-fit:cover;object-position:top;border-radius:3.4cqw}
.pf-stage__phone .pf-phone__notch{top:2cqw;width:6cqw;height:1.6cqw}
.pf-stage__label{position:absolute;left:0;top:0;z-index:4;display:inline-flex;align-items:center;gap:1.4cqw;max-width:62cqw;padding:1.4cqw 2.4cqw;border-radius:999px;background:rgba(5,6,15,.78);border:1px solid rgba(165,180,252,.2);font:500 2cqw/1.3 var(--cz-body);color:rgba(232,234,246,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-stage__label i{font-size:1.6cqw;color:var(--cz-cyan)}
@keyframes pfScroll{0%,9%{transform:translate3d(0,0,0)}46%,56%{transform:translate3d(0,var(--pf-dist,0px),0)}94%,100%{transform:translate3d(0,0,0)}}

/* ── FILTRY ── */
.pf-filter{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}
.pf-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid rgba(165,180,252,.22);background:rgba(255,255,255,.03);color:rgba(232,234,246,.84);font:500 .86rem/1 var(--cz-body);cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.pf-chip b{display:inline-grid;place-items:center;min-width:22px;height:20px;padding:0 6px;border-radius:999px;background:rgba(165,180,252,.14);font:600 .64rem/1 var(--cz-mono);color:var(--cz-lav)}
.pf-chip:hover{border-color:rgba(165,180,252,.5);color:#fff}
.pf-chip.is-on{background:#EEF0FF;border-color:transparent;color:var(--cz-ink-text)}
.pf-chip.is-on b{background:var(--cz-indigo-deep);color:#fff}
.pf-chip:focus-visible{outline:2px solid var(--cz-cyan);outline-offset:3px}
.pf-filter--light .pf-chip{border-color:rgba(11,16,32,.14);background:#fff;color:var(--cz-ink-text)}
.pf-filter--light .pf-chip b{background:#EEF0FF;color:var(--cz-indigo-deep)}
.pf-filter--light .pf-chip:hover{border-color:var(--cz-indigo-deep)}
.pf-filter--light .pf-chip.is-on{background:var(--cz-ink-text);color:#fff}
.pf-filter--light .pf-chip.is-on b{background:rgba(255,255,255,.16);color:#fff}

/* ── SIATKI ── */
.cz-page .pf-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cz-page .pf-card.is-hidden{display:none}
.cz-light .pf-card{box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 30px 60px -36px rgba(11,16,32,.75)}
.cz-light .pf-card:hover{box-shadow:0 1px 0 rgba(255,255,255,.07) inset,0 44px 80px -38px rgba(11,16,32,.85),0 0 0 1px rgba(129,140,248,.22)}
.pf-js .pf-grid--works .pf-card.is-more{display:none}
.pf-more{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:34px}
.pf-more [hidden]{display:none!important}
.pf-empty{font-size:.95rem;color:var(--cz-muted-l)}
.cz-dark .pf-empty{color:var(--cz-muted)}

/* ── KONCEPCJE ── */
.pf-concepts__note{display:flex;align-items:center;gap:10px;margin-top:14px!important;font-size:.88rem;color:var(--cz-muted)}
.cz-page .pf-card__badge--inline{position:static;box-shadow:none}

/* ── W SKRÓCIE: branże ── */
.pf-inds{margin-top:clamp(40px,5vw,64px)}
.pf-page .pf-inds__h{margin-bottom:16px!important;font:600 1rem/1.3 var(--cz-display);letter-spacing:-.015em;color:var(--cz-ink-text)}
.pf-inds ul{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.pf-inds li{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:#fff;border:1px solid rgba(11,16,32,.1);font-size:.86rem;color:var(--cz-ink-text)}
.pf-inds li b{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#EEF0FF;font:600 .64rem/1 var(--cz-mono);color:var(--cz-indigo-deep)}

/* ================================================================
   POJEDYNCZA REALIZACJA
   ================================================================ */
.pf-hero--single{padding-bottom:clamp(72px,9vw,110px)}
.pf-hero__glow{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 78% 8%,rgba(79,70,229,.24),transparent 62%),radial-gradient(ellipse 60% 50% at 10% 90%,rgba(34,211,238,.1),transparent 60%)}
.pf-hero--single>.cz-wrap{position:relative;z-index:2;width:100%}
.pf-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:26px;font:500 .72rem/1.4 var(--cz-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cz-muted)}
.pf-crumbs a{color:rgba(232,234,246,.78);text-decoration:none}
.pf-crumbs a:hover{color:#fff}
.pf-crumbs i{font-style:normal;opacity:.4}
.pf-crumbs span{color:var(--cz-lav)}
.pf-single__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(28px,5vw,72px);align-items:end}
.pf-single__title{font-size:clamp(1.9rem,3.3vw,2.9rem)!important;line-height:1.08!important}
.pf-tags{gap:8px 12px}
.pf-tag{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:color-mix(in srgb,var(--c,#6366F1) 20%,transparent);border:1px solid color-mix(in srgb,var(--c,#6366F1) 45%,transparent);color:#fff;font:500 .78rem/1 var(--cz-body);text-decoration:none}
.pf-tag i{font-size:.72rem;color:var(--cz-lav)}
.pf-tag--concept{background:#FBBF24;border-color:transparent;color:#1C1405;font:600 .66rem/1 var(--cz-mono);letter-spacing:.1em;text-transform:uppercase}
.pf-tags__ind{font-size:.86rem;color:rgba(232,234,246,.72)}
.pf-facts{margin:0;padding:8px 22px;border-radius:24px;background:linear-gradient(180deg,rgba(17,22,46,.8),rgba(8,11,26,.9));border:1px solid rgba(165,180,252,.16)}
.pf-facts>div{display:grid;gap:4px;padding:13px 0;border-top:1px solid var(--cz-line)}
.pf-facts>div:first-child{border-top:0}
.pf-facts dt{font:500 .62rem/1.3 var(--cz-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cz-muted)}
.pf-facts dd{margin:0;font-size:.92rem;font-weight:500;line-height:1.45;color:#fff}
.pf-facts dd a{color:var(--cz-cyan);text-decoration:none}
.pf-facts dd a i{font-size:.66rem;margin-left:4px}

/* podgląd: przeglądarka z przewijaniem + telefon */
.pf-show{position:relative;display:grid;grid-template-columns:minmax(0,960px);justify-content:center;margin-top:clamp(40px,5vw,64px)}
.pf-show.has-phone{grid-template-columns:minmax(0,940px) auto;justify-content:start;align-items:end}
.pf-browser{position:relative;margin:0;border-radius:22px;overflow:hidden;background:#0A0F1E;border:1px solid rgba(165,180,252,.2);box-shadow:0 60px 120px -60px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.02) inset}
.pf-browser__bar{display:flex;align-items:center;gap:14px;height:42px;padding:0 16px;background:#10152E;border-bottom:1px solid rgba(165,180,252,.14)}
.pf-browser__dots{display:flex;gap:7px}
.pf-browser__dots i{width:11px;height:11px;border-radius:50%;background:rgba(232,234,246,.2)}
.pf-browser__dots i:nth-child(1){background:#F87171}.pf-browser__dots i:nth-child(2){background:#FBBF24}.pf-browser__dots i:nth-child(3){background:#34D399}
.pf-browser__url{display:flex;align-items:center;gap:8px;flex:1;max-width:520px;margin:0 auto;height:26px;padding:0 14px;border-radius:8px;background:rgba(255,255,255,.05);font:500 .74rem/26px var(--cz-mono);color:rgba(232,234,246,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-browser__url i{font-size:.62rem;color:#34D399}
.pf-browser__view{position:relative;height:clamp(340px,56vw,640px);overflow:hidden;outline:none}
.pf-browser__view:focus-visible{box-shadow:inset 0 0 0 2px var(--cz-cyan)}
.pf-browser__img{display:block;width:100%;height:auto;transform:translate3d(0,0,0);will-change:transform}
.pf-browser.is-scrolling .pf-browser__img{animation:pfScroll var(--pf-time,30s) ease-in-out infinite}
.pf-browser:hover .pf-browser__img,.pf-browser__view:focus .pf-browser__img{animation-play-state:paused}
.pf-browser.is-manual .pf-browser__view{overflow-y:auto;overscroll-behavior:contain}
.pf-browser.is-manual .pf-browser__img{animation:none;transform:none}
.pf-browser__cap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;padding:12px 16px;background:#0C1128;border-top:1px solid rgba(165,180,252,.12);font:500 .68rem/1.3 var(--cz-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--cz-muted)}
.pf-browser__cap i{color:var(--cz-cyan);margin-right:4px}
.pf-browser__toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid rgba(165,180,252,.26);background:transparent;color:#fff;font:500 .7rem/1 var(--cz-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
.pf-browser__toggle:hover,.pf-browser__toggle[aria-pressed="true"]{background:#EEF0FF;color:var(--cz-ink-text)}
.pf-browser__toggle[aria-pressed="true"] i{color:var(--cz-indigo-deep)}
.pf-phone{position:relative;z-index:3;align-self:end;justify-self:start;width:clamp(170px,17vw,240px);margin:0 0 -28px -64px;margin:0;padding:9px;border-radius:34px;background:#0B0F24;border:1px solid rgba(165,180,252,.3);box-shadow:0 40px 80px -30px rgba(0,0,0,.95)}
.pf-phone img{display:block;width:100%;height:auto;border-radius:26px}
.pf-phone__notch{position:absolute;left:50%;top:15px;z-index:2;width:30%;height:14px;border-radius:999px;background:#05060F;transform:translateX(-50%)}

/* opis + funkcje */
.pf-about{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(36px,5vw,80px);align-items:start}
.pf-about__content{margin-top:22px}
.pf-about__content p{margin:0 0 16px!important;font-size:1.06rem;line-height:1.78;color:#27304A;max-width:64ch}
.pf-note{display:flex;gap:12px;align-items:flex-start;margin-top:24px!important;padding:16px 18px;border-radius:18px;background:#FFF8E6;border:1px solid rgba(180,83,9,.2);font-size:.9rem;line-height:1.6;color:#5B3A08;max-width:64ch}
.pf-note i{margin-top:4px;color:#B45309}
.pf-feat{position:sticky;top:110px;padding:26px;border-radius:26px;background:#fff;border:1px solid rgba(11,16,32,.08);box-shadow:0 40px 70px -56px rgba(49,46,129,.5)}
.pf-page .pf-feat__h{display:flex;align-items:center;gap:10px;margin-bottom:14px!important;font:600 1rem/1.3 var(--cz-display);letter-spacing:-.015em;color:var(--cz-ink-text)}
.pf-feat__h i{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#EEF0FF;color:var(--cz-indigo-deep);font-size:.8rem}
.pf-feat__list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.pf-feat__list li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;padding:11px 0;border-top:1px solid var(--cz-line-l);font-size:.93rem;line-height:1.5;color:var(--cz-ink-text)}
.pf-feat__list li:first-child{border-top:0}
.pf-feat__list i{margin-top:4px;font-size:.72rem;color:#059669}
.pf-feat__svc{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 16px;border-radius:16px;background:var(--cz-ink-text);color:#fff;text-decoration:none;transition:background .3s}
.pf-feat__svc small{display:block;font:500 .6rem/1.3 var(--cz-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cz-lav)}
.pf-feat__svc b{font-size:.95rem;font-weight:600}
.pf-feat__svc i{transition:transform .4s var(--cz-ease)}
.pf-feat__svc:hover{background:var(--cz-indigo-deep)}
.pf-feat__svc:hover i{transform:translateX(4px)}

/* ================================================================
   RESPONSYWNOŚĆ
   ================================================================ */
@media (max-width:1180px){
	.cz-page .pf-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1080px){
	.pf-hero .cz-hero__grid{grid-template-columns:1fr}
	.pf-stage{justify-self:center;max-width:560px;margin-top:10px}
	.pf-single__grid{grid-template-columns:1fr;align-items:start}
	.pf-about{grid-template-columns:1fr}
	.pf-feat{position:static}
}
@media (max-width:720px){
	.cz-page .pf-grid--3{grid-template-columns:1fr}
	.pf-filter{flex-wrap:nowrap;overflow-x:auto;margin-left:-20px;margin-right:-20px;padding:0 20px 6px;scrollbar-width:none}
	.pf-filter::-webkit-scrollbar{display:none}
	.pf-chip{flex-shrink:0}
	.pf-show.has-phone{grid-template-columns:minmax(0,1fr)}
	.pf-phone{width:58%;max-width:230px;margin:22px auto 0;justify-self:center}
	.pf-browser__view{height:420px}
	.pf-browser__cap{font-size:.6rem}
}
@media (hover:none){
	.pf-browser__cap>span{display:none}
	.pf-browser__cap{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
	.pf-stage.is-scrolling .pf-stage__img,.pf-browser.is-scrolling .pf-browser__img{animation:none}
	.pf-browser .pf-browser__view{overflow-y:auto}
}
