/* Galeria dos aprovados: fotos originais completas, sem recorte. */
.pt-aprovados { margin-top:64px; padding:30px 0 0; border:1px solid #292929; border-radius:24px; background:linear-gradient(135deg,#151515,#080808 65%); overflow:hidden; }
.pt-ap-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:0 28px 26px; }
.pt-ap-eyebrow { display:flex; align-items:center; gap:8px; color:#ff5454; font-size:.65rem; font-weight:800; letter-spacing:2px; text-transform:uppercase; }
.pt-ap-eyebrow::before { content:''; width:7px; height:7px; border-radius:50%; background:#e60000; box-shadow:0 0 18px #e6000055; }
.pt-ap-head h2 { color:#fff; font-family:var(--display,'Poppins',sans-serif); font-size:clamp(1.7rem,4vw,2.5rem); line-height:1.1; letter-spacing:.2px; text-transform:uppercase; margin:10px 0; }
.pt-ap-head p { color:#aaa; font-size:.85rem; line-height:1.7; margin:0; }
.pt-ap-controls { display:flex; align-items:center; flex-shrink:0; gap:8px; }
.pt-ap-control { display:flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid #363636; border-radius:50%; background:#191919; color:#fff; cursor:pointer; transition:background .2s,border-color .2s; }
.pt-ap-control:hover { background:#2b1616; border-color:#e60000; }
.pt-ap-control svg { width:19px; height:19px; }
.pt-ap-control:focus-visible,.pt-ap-photo:focus-visible,.pt-ap-track:focus-visible { outline:2px solid #ff5454; outline-offset:-3px; }
.pt-ap-track { display:flex; gap:16px; position:relative; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scroll-padding-inline:28px; scrollbar-width:none; list-style:none; padding:0 28px 4px; margin:0; }
.pt-ap-track::-webkit-scrollbar { display:none; }
.pt-ap-card { flex:0 0 auto; width:300px; margin:0; border:1px solid #323232; border-radius:16px; overflow:hidden; background:#050505; scroll-snap-align:start; }
.pt-ap-card.is-landscape { width:533px; }
.pt-ap-photo { display:block; height:400px; background:#050505; cursor:zoom-in; }
.pt-ap-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.pt-ap-caption { display:flex; justify-content:space-between; align-items:center; padding:14px 16px; color:#ddd; background:#161616; gap:12px; font-size:.7rem; }
.pt-ap-caption b { font-size:.62rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.pt-ap-caption span { color:#888; font-variant-numeric:tabular-nums; }
.pt-ap-foot { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 28px; color:#919191; font-size:.7rem; }
.pt-ap-foot strong { color:#fff; font-weight:600; font-variant-numeric:tabular-nums; }
.pt-ap-lightbox { padding:14px; border:1px solid #393939; border-radius:18px; background:#0e0e0e; color:#fff; max-width:calc(100vw - 32px); max-height:calc(100dvh - 32px); margin:auto; }
.pt-ap-lightbox::backdrop { background:#000d; backdrop-filter:blur(7px); }
.pt-ap-lightbox img { display:block; width:auto; height:auto; max-width:min(1100px,calc(100vw - 62px)); max-height:calc(100dvh - 112px); object-fit:contain; margin:auto; }
.pt-ap-lightbox-foot { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:12px; color:#ddd; font-size:.75rem; }
.pt-ap-close { background:#252525; color:#fff; border:1px solid #454545; padding:9px 14px; border-radius:9px; cursor:pointer; font:inherit; }
.pt-ap-close:focus-visible { outline:2px solid #ff5454; outline-offset:2px; }
@media(max-width:600px) {
 .pt-aprovados { margin-top:44px; padding-top:24px; border-radius:18px; }
 .pt-ap-head { align-items:flex-start; flex-direction:column; gap:18px; padding:0 18px 22px; }
 .pt-ap-head p { font-size:.78rem; }
 .pt-ap-control { width:40px; height:40px; }
 .pt-ap-track { gap:12px; padding:0 18px 4px; scroll-padding-inline:18px; }
 .pt-ap-card { width:min(75vw,270px); }
 .pt-ap-card.is-landscape { width:min(84vw,440px); }
 .pt-ap-photo { height:360px; }
 .pt-ap-foot { padding:18px; font-size:.65rem; }
}
@media(prefers-reduced-motion:reduce) { .pt-ap-control { transition:none; } }
