/* Portfolio Agentes - estilos dedicados (herdam tokens globais do style.css) */
.pf-section{padding:4rem 0;background:#0f0f0f}
.pf-filtros{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2rem}
.pf-filtro{background:transparent;border:1px solid var(--border);color:var(--muted);padding:.5rem 1.1rem;border-radius:999px;font-family:inherit;font-size:.85rem;font-weight:600;cursor:pointer;transition:.2s;letter-spacing:.5px;text-transform:uppercase}
.pf-filtro:hover{border-color:var(--red);color:var(--red)}
.pf-filtro.is-active{background:var(--red);border-color:var(--red);color:#fff}

.pf-layout{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:flex-start}
@media (max-width:980px){.pf-layout{grid-template-columns:1fr}}

.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.2rem}
.pf-card{background:var(--card);border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:pointer;transition:.3s;display:flex;flex-direction:column}
.pf-card:hover{transform:translateY(-4px);border-color:var(--red);box-shadow:0 10px 30px rgba(225,6,0,.25)}
.pf-card.is-hidden{display:none}
.pf-thumb{position:relative;width:100%;aspect-ratio:4/3;background:#000 center/cover no-repeat;overflow:hidden}
.pf-cat{position:absolute;top:.6rem;left:.6rem;background:var(--red);color:#fff;font-size:.7rem;font-weight:700;padding:.25rem .6rem;border-radius:4px;letter-spacing:.5px;text-transform:uppercase}
.pf-hover{position:absolute;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;opacity:0;transition:.25s}
.pf-hover span{color:#fff;font-family:'Bebas Neue',sans-serif;letter-spacing:2px;font-size:1.3rem;border:2px solid var(--red);padding:.4rem 1rem;border-radius:6px}
.pf-card:hover .pf-hover{opacity:1}
.pf-body{padding:1rem;display:flex;gap:.7rem;align-items:flex-start}
.pf-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid var(--red);flex-shrink:0}
.pf-titulo{font-family:'Bebas Neue',sans-serif;color:#fff;font-size:1.1rem;letter-spacing:.5px;line-height:1.2}
.pf-autor{font-size:.8rem;color:var(--text);margin-top:.2rem}
.pf-desc{font-size:.8rem;color:var(--muted);margin-top:.3rem}

.pf-side-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:1rem;position:sticky;top:90px}
.pf-mapa{height:420px;border-radius:8px;overflow:hidden;background:#000}

/* Mapa - marcador personalizado com foto do agente */
.agente-marker{background:transparent;border:0}
.am-wrap{width:44px;height:44px;border-radius:50%;border:3px solid var(--red);background:#000;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;position:relative}
.am-wrap::after{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:var(--red)}
.am-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.am-default{color:#fff;font-family:'Bebas Neue',sans-serif;font-size:1.3rem}

/* Modal */
.pf-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:1rem}
.pf-modal.is-open{display:flex}
.pf-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(4px)}
.pf-modal-box{position:relative;background:var(--card);border:1px solid var(--border);border-radius:12px;max-width:900px;width:100%;max-height:92vh;overflow:auto;display:grid;grid-template-columns:1.3fr 1fr;animation:pfIn .25s ease}
@keyframes pfIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@media (max-width:800px){.pf-modal-box{grid-template-columns:1fr}}
.pf-modal-close{position:absolute;top:.5rem;right:.7rem;background:rgba(0,0,0,.6);color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:1.6rem;cursor:pointer;z-index:2}
.pf-modal-close:hover{background:var(--red)}
.pf-modal-media{background:#000;min-height:280px;display:flex;align-items:center;justify-content:center}
.pf-modal-media img,.pf-modal-media video,.pf-modal-media iframe{width:100%;height:100%;min-height:280px;max-height:70vh;object-fit:cover;border:0;display:block}
.pf-modal-info{padding:1.5rem}
.pf-modal-info h2{font-size:1.8rem;color:#fff;margin-top:.5rem}
.pf-modal-info p{color:var(--text);line-height:1.6}
