.pp-photos{min-height:60vh;background:#f8fafc;color:#142441;padding:55px 0 90px}.pp-photos h1{font-size:clamp(32px,4vw,50px);letter-spacing:-.04em;margin:16px 0}.pp-photos p{color:#63758c;line-height:1.65}.pp-photos__breadcrumb{font-size:13px;margin-bottom:30px;color:#63758c}.pp-photos__breadcrumb a,.pp-photos__back{color:#15884c;text-decoration:none}.pp-photos__hint{font-size:14px}.pp-photos__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:32px 0}.pp-photos__card{overflow:hidden;background:#fff;border:1px solid #e0e9ef;border-radius:16px;box-shadow:0 10px 28px #1125440b}.pp-photos__card img{width:100%;height:220px;object-fit:cover;display:block}.pp-photos__card-info{padding:16px}.pp-photos__card-info p{margin:0 0 10px;font-size:13px}.pp-photos__card-info a{color:#138648;font-weight:700}.pp-photos__notice{padding:28px;background:#fff;border:1px solid #e0e9ef;border-radius:15px;margin:30px 0}.pp-photos__pagination{display:flex;justify-content:center;gap:24px;margin:28px 0}.pp-photos__pagination a{color:#15884c}.pp-photos__back{display:inline-block;margin-top:28px}@media(max-width:1050px){.pp-photos__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:750px){.pp-photos__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.pp-photos__grid{grid-template-columns:1fr}.pp-photos__card img{height:260px}}
/* PP04.4 — galeria ampliada, responsiva e acessível */
.pp-photos__open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:left}
.pp-photos__open:focus-visible,.pp-photos__viewer button:focus-visible{outline:3px solid #15884c;outline-offset:3px}
.pp-photos__open img{width:100%;height:220px;object-fit:cover;display:block}
.pp-photos__viewer{width:min(1100px,96vw);max-width:none;max-height:94vh;padding:0;border:0;border-radius:16px;background:#0d1421;color:#fff;overflow:hidden}
.pp-photos__viewer::backdrop{background:rgba(4,10,21,.88)}
.pp-photos__viewer-panel{display:flex;flex-direction:column;max-height:94vh}
.pp-photos__viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;font-size:14px}
.pp-photos__viewer-close,.pp-photos__viewer-nav{border:1px solid #ffffff55;border-radius:9px;background:#ffffff18;color:#fff;cursor:pointer}
.pp-photos__viewer-close{padding:8px 12px}
.pp-photos__viewer-stage{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;align-items:center;min-height:180px;gap:6px;padding:0 12px 16px}
.pp-photos__viewer-nav{height:52px;font-size:36px}
.pp-photos__viewer-nav:disabled{opacity:.25;cursor:default}
.pp-photos__viewer-image-wrap{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;min-height:160px}
.pp-photos__viewer-image-wrap img{display:block;max-width:100%;max-height:calc(94vh - 100px);width:auto;height:auto;object-fit:contain}
.pp-photos__viewer-image-wrap img:not([src]){display:none}
.pp-photos__viewer-status{position:absolute;z-index:1;top:45%;margin:0;padding:8px 12px;border-radius:8px;background:#0d1421e8;color:#fff!important}
.pp-photos__viewer-status:empty{display:none}
@media(max-width:480px){.pp-photos__open img{height:260px}.pp-photos__viewer-stage{grid-template-columns:36px minmax(0,1fr) 36px;padding:0 6px 12px}.pp-photos__viewer-nav{height:44px;font-size:28px}}

/* PP05.4 — resultados e estados de carregamento */
.pp-photos__results{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;margin:28px 0 18px;border:1px solid #dce8e2;border-radius:16px;background:#fff}
.pp-photos__results-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#16804c}
.pp-photos__results h2{font-size:clamp(19px,2.5vw,26px);letter-spacing:-.025em;margin:5px 0}
.pp-photos__results p{margin:0;font-size:14px}
.pp-photos__results-reset{flex-shrink:0;color:#137b45;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.pp-photos__empty{text-align:center;padding:40px 24px}
.pp-photos__empty h2,.pp-photos__empty h3{margin:0 0 10px;color:#142441}
.pp-photos__empty p{max-width:560px;margin:0 auto 18px}
.pp-photos__search[aria-busy="true"]{opacity:.72}
.pp-photos__search[aria-busy="true"] input[type="submit"]{cursor:wait}
@media(max-width:600px){.pp-photos__results{align-items:flex-start;flex-direction:column;padding:18px}}
