/* ══════════════════════════════════════════════════════════
   Portfólio Guild — carrossel usado no site (index.html) e na
   proposta de Sites & Sistemas (proposta.html).
   As cores vêm das variáveis de cada página, com valores padrão.
   ══════════════════════════════════════════════════════════ */

/* Carrossel contínuo: a trilha tem os cards duas vezes e anda -50%,
   então o fim encaixa no começo sem emenda. Pausa ao passar o mouse/tocar. */
.pf-viewport{
  overflow:hidden;padding:10px 0 26px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);
}
.pf-grid{display:flex;width:max-content;animation:pfScroll 32s linear infinite}
.pf-viewport:hover .pf-grid,.pf-viewport.paused .pf-grid{animation-play-state:paused}
@keyframes pfScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Largura do card calculada no portfolio.js (--pf-w): 4 por vez no computador,
   2 no tablet e 1 (com o próximo aparecendo) no celular. */
.pf-card{
  flex:0 0 auto;width:var(--pf-w,300px);margin-right:var(--pf-gap,18px);
  display:block;text-decoration:none;color:inherit;font:inherit;text-align:left;padding:0;
  background:var(--bg3,#0F1822);border:1px solid var(--border,rgba(196,30,30,.18));
  border-radius:var(--rl,1.25rem);overflow:hidden;
  transition:border-color .3s var(--ease,ease),transform .3s var(--ease,ease),box-shadow .3s var(--ease,ease);
}
.pf-card:hover{border-color:var(--red,#C41E1E);transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(196,30,30,.45)}
.pf-card.sys{cursor:zoom-in}
.pf-shot{position:relative;background:#0a0f16;border-bottom:1px solid var(--border,rgba(196,30,30,.18))}
.pf-bar{display:flex;align-items:center;gap:5px;padding:8px 10px;background:#111a26}
.pf-bar i{width:8px;height:8px;border-radius:50%;background:#3A5068}
.pf-bar i:first-child{background:#E52222}
.pf-bar em{font-style:normal;font-size:.68rem;color:var(--g2,#7890A8);margin-left:8px;background:#0a0f16;border-radius:6px;padding:2px 10px;flex:1;text-align:center}
.pf-shot img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top}
.pf-info{padding:14px 16px}
.pf-info b{display:block;font-family:'Orbitron',monospace;font-size:.82rem;color:var(--white,#fff);margin-bottom:4px}
.pf-info span{color:var(--g2,#7890A8);font-size:.78rem;line-height:1.5}
.pf-badge{font-size:.6rem!important;padding:4px 9px!important}

/* sistemas internos: sem link (tem login), a tela amplia ao clicar */
.pf-badge{
  position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;
  background:rgba(6,9,15,.82);border:1px solid rgba(201,162,255,.45);color:#D9C2FF;
  font-size:.66rem;font-weight:700;letter-spacing:.5px;padding:5px 10px;border-radius:999px;backdrop-filter:blur(4px);
}
.pf-badge svg{width:12px;height:12px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

#pfLightbox{
  display:none;position:fixed;inset:0;z-index:9000;background:rgba(3,5,9,.92);backdrop-filter:blur(6px);
  align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:24px;
}
#pfLightbox.open{display:flex}
#pfLightbox img{max-width:min(1400px,100%);max-height:78vh;border-radius:12px;border:1px solid var(--border,rgba(196,30,30,.18));box-shadow:0 30px 80px -20px rgba(0,0,0,.8)}
#pfLbCap{color:var(--g1,#C8D8E8);font-size:.9rem;text-align:center;font-family:'Inter',sans-serif}
#pfLbCap b{color:var(--white,#fff);font-family:'Orbitron',monospace;font-size:.85rem;display:block;margin-bottom:4px}
#pfLbCap small{color:var(--g2,#7890A8)}
.pf-lb-btn{
  position:absolute;width:46px;height:46px;border-radius:50%;background:var(--bg3,#0F1822);
  border:1px solid var(--border,rgba(196,30,30,.18));color:var(--white,#fff);font-size:1.4rem;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s ease
}
.pf-lb-btn:hover{border-color:var(--red,#C41E1E);background:rgba(196,30,30,.12)}
#pfLbClose{top:18px;right:18px;font-size:1.1rem}
#pfLbPrev{left:18px;top:50%;transform:translateY(-50%)}
#pfLbNext{right:18px;top:50%;transform:translateY(-50%)}
@media(max-width:600px){#pfLbPrev,#pfLbNext{top:auto;bottom:18px;transform:none}}
