/* Seção "Instagram" da home. Nasce oculta ([hidden]); o JS a abre ~1000px antes de o visitante chegar, invisivel (classe
 * --preparando), e so a mostra quando todos os posts terminaram de montar; se o Instagram falhar, ela volta a [hidden]. */
.govbr-ig-sentinela { display: block; height: 1px; }
.govbr-ig { padding: 4rem 0; background: var(--section-bg, #f8fafc); }
.govbr-ig[hidden] { display: none; }
.govbr-ig__cabecalho { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1.5rem; margin-bottom: 2rem; }
.govbr-ig__titulo { margin: 0; color: var(--text-primary); font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.2rem); font-weight: 700; }
.govbr-ig__perfil { font-weight: 700; color: var(--portal-primary-hex, #1351B4); text-decoration: underline; text-underline-offset: 3px; }
.govbr-ig__perfil:hover { text-decoration-thickness: 2px; }
.govbr-ig__perfil:focus-visible, .govbr-ig__item a:focus-visible { outline: 3px solid var(--portal-accent-hex, #0ea5e9); outline-offset: 3px; }
.govbr-ig__grade { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.5rem; justify-items: center; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); }
.govbr-ig__item { width: 100%; min-width: 0; max-width: 540px; margin: 0; }
.govbr-ig__item[hidden] { display: none; }
/* O embed exige >= 326px; abaixo disso o cabecalho do post se espreme. */
.govbr-ig__item .instagram-media { width: 100% !important; min-width: min(326px, 100%) !important; max-width: 540px !important; margin: 0 auto !important; }
/* Piso de altura: a 1a medida do Instagram sai pequena (sem fotos carregadas) e o post ficava cortado em ~150px. */
.govbr-ig__item iframe.instagram-media { min-height: 520px; }
.govbr-ig__item blockquote.instagram-media { min-height: 520px; box-sizing: border-box; }
/* Montagem: ocupa o espaco, mas invisivel (opacity, nunca display:none/altura 0, para o Instagram medir certo). So aparece pronta. */
.govbr-ig { position: relative; }
.govbr-ig__grade { transition: opacity .35s ease; }
.govbr-ig--preparando .govbr-ig__grade { opacity: 0; pointer-events: none; }
.govbr-ig--preparando::after { content: "Carregando publicações…"; position: absolute; left: 0; right: 0; top: 50%; text-align: center; color: var(--text-secondary, #475569); font-size: .95rem; }
@media (prefers-reduced-motion: reduce) { .govbr-ig__grade { transition: none; } }
@media (min-width: 1200px) { .govbr-ig__grade { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; } }
@media (max-width: 575px) { .govbr-ig { padding: 2.5rem 0; } }
@media print { .govbr-ig, .govbr-ig-sentinela { display: none; } }
