/* Postline 2.0 · Etapa 5: Bootstrap 5 + identidade institucional.
   Carregar APÓS postline.css. Não depende do Acervo Digital. */
:root{--pl-blue:#0b4b90;--pl-green:#003d39;--pl-gold:#e3b43c;--pl-ink:#12355e}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:85px}
body{overflow-x:hidden;color:#273b52}
/* Containers fluidos em desktop para eliminar as margens laterais exageradas */
.container,.postline-content-width{width:calc(100% - 96px)!important;max-width:1640px!important;margin-inline:auto!important;padding-left:0!important;padding-right:0!important}
.postline-header{background:#fff;box-shadow:0 2px 14px #0b284315;z-index:1050}
.postline-header .navbar{padding:11px 0;min-height:74px}
.postline-wide-nav{width:calc(100% - 80px);max-width:1680px;margin:auto;gap:16px}
.postline-brand{display:flex;align-items:center;gap:15px;min-width:0;margin:0!important;text-decoration:none}
.postline-brand .institution-logo{width:154px;height:49px;object-fit:contain}
.brand-divider{width:2px;height:42px;background:#2c67b4;flex-shrink:0}
.brand-text{display:flex;flex-direction:column;line-height:1.2;color:#06366e;white-space:nowrap}
.brand-text small{font-size:11px;letter-spacing:.045em;font-weight:800}
.brand-text strong{font-size:17px;font-weight:900;margin-top:3px}
.postline-header .nav-link{font-size:13px!important;color:#183959!important;padding:9px 10px!important;white-space:nowrap}
.postline-header .nav-link.active,.postline-header .nav-link:hover{color:#0762bc!important}
.postline-top-search{position:relative;min-width:185px;max-width:230px;align-items:center;background:#f1f5f9;border-radius:30px;padding:0 12px;height:39px}
.postline-top-search i{color:#0d5db1;margin-right:8px}
.postline-top-search input{width:100%;border:0;background:transparent;outline:0;font-size:12px;color:#193f63}
.postline-header .panel-link{display:flex;align-items:center;gap:7px;padding:12px 15px;background:#2867bc;border-radius:5px;color:#fff!important;font-size:13px;font-weight:700;white-space:nowrap;text-decoration:none;cursor:default}
.postline-header .panel-link small{font-size:9px;opacity:.75}
/* Hero: manter foto panorâmica, título em bloco mais largo */
.hero{background-position:center 54%!important}
.hero-overlay,.hero-inner{min-height:410px!important}
.hero-copy{width:min(720px,58%)!important}
.hero h1{font-size:clamp(38px,3.15vw,55px)!important;line-height:1.06;max-width:720px!important;letter-spacing:-.025em}
.hero p{font-size:16px!important;max-width:640px;line-height:1.55}
.hero-logo{font-size:49px!important}
.hero-quote{margin-right:85px!important}
.quicklinks a{font-size:14px!important;padding:17px 12px!important}
/* Mais ritmo vertical, cartões maiores e sem tentar mostrar as 14 unidades de uma vez */
.section{padding-top:42px!important;padding-bottom:37px!important}
.section h2,.location h2{font-size:29px!important}
.section-heading p,.location p{font-size:14px!important}
.libraries .carousel-shell{margin-top:13px}
.library-grid{gap:18px!important;padding:8px 5px 20px!important}
.library-card{flex:0 0 clamp(170px,13.3vw,216px)!important;min-width:170px!important}
.library-card img{height:130px!important;object-fit:cover}
.library-info{min-height:88px!important;padding:12px 11px 18px!important}
.library-info strong{font-size:13px!important;line-height:1.3!important}
.library-info small{font-size:11px!important}
/* Três blocos balanceados: notícias ~50%, eventos ~23%, institucional ~27% */
.content-trio{display:grid!important;grid-template-columns:minmax(0,1.7fr) minmax(270px,.78fr) minmax(310px,.98fr)!important;gap:26px!important;align-items:start}
.content-trio .section-heading{min-height:76px}
.news-grid{gap:16px!important}
.news-card img{height:170px!important;object-fit:cover}
.news-body{padding:16px!important}
.news-card h3{font-size:18px!important;line-height:1.23!important}
.news-card p{font-size:13px!important;line-height:1.55!important}
.event-row{min-height:86px!important;padding:12px!important;margin-bottom:10px!important}
.event-row strong{font-size:14px!important}
.about{min-height:390px!important;padding:30px!important;border-radius:6px}
.about h2{font-size:27px!important}
.about p{font-size:14px!important;line-height:1.75!important;max-width:420px!important}
/* mapa: preservar filtros originais */
.location-inner{grid-template-columns:42% 58%!important;min-height:310px!important}
.location-controls{padding:32px 30px 30px 0!important}
.location-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important}
.location select{font-size:12px!important;padding:12px 9px!important}
.map-container,.map-container iframe{min-height:310px!important}
/* Rodapé inspirado na organização do Acervo Digital */
.postline-footer{background:linear-gradient(110deg,#09509c,#063a75)!important;color:#fff}
.postline-footer .footer-grid{grid-template-columns:1.25fr .7fr 1.55fr .7fr .95fr!important;gap:38px!important;padding-top:48px!important;padding-bottom:48px!important}
.postline-footer h3{font-size:15px!important;margin-bottom:15px!important}
.postline-footer a,.postline-footer p{font-size:12px!important;line-height:1.75!important}
.postline-footer .footer-brand img{width:155px!important;max-height:70px}
.postline-footer .footer-brand strong{font-size:19px!important}
.postline-footer .footer-bottom{background:#082e5b}
@media(max-width:1500px){.postline-header .nav-link{font-size:12px!important;padding:8px 6px!important}.postline-brand .institution-logo{width:115px}.brand-text small{font-size:10px}.brand-text strong{font-size:15px}.postline-top-search{min-width:155px}.content-trio{grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr)!important}.content-trio .about{grid-column:1/-1;min-height:230px!important}.content-trio .about p{max-width:900px!important}}
@media(max-width:1199.98px){.postline-header .navbar-collapse{padding:18px 0}.postline-top-search{max-width:100%;margin-top:14px}.postline-header .panel-link{display:inline-flex;margin-top:12px}.hero-copy{width:65%!important}.hero-quote{margin-right:50px!important}.content-trio{grid-template-columns:1fr 1fr!important}.news-column{grid-column:1/-1}.content-trio .about{grid-column:auto;min-height:330px!important}.postline-footer .footer-grid{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:767.98px){.container,.postline-content-width{width:calc(100% - 36px)!important}.postline-wide-nav{width:calc(100% - 32px)}.postline-brand .institution-logo{width:92px;height:40px}.brand-divider{height:32px}.brand-text small{font-size:8px}.brand-text strong{font-size:13px}.hero-overlay,.hero-inner{min-height:460px!important}.hero-copy{width:100%!important}.hero h1{font-size:34px!important}.hero p{font-size:14px!important}.hero-quote{display:none!important}.section{padding-top:30px!important;padding-bottom:28px!important}.section h2,.location h2{font-size:25px!important}.library-card{flex-basis:172px!important}.news-grid{grid-template-columns:1fr!important}.news-card img{height:200px!important}.content-trio{grid-template-columns:1fr!important}.news-column,.content-trio .about{grid-column:auto}.about{min-height:unset!important}.location-inner{grid-template-columns:1fr!important}.location-controls{padding:28px 0!important}.location-filters{grid-template-columns:1fr 1fr!important}.postline-footer .footer-grid{grid-template-columns:1fr 1fr!important;gap:30px!important}}
@media(max-width:480px){.brand-text small{font-size:7px}.postline-brand{gap:7px}.postline-brand .institution-logo{width:72px}.hero h1{font-size:30px!important}.location-filters{grid-template-columns:1fr!important}.postline-footer .footer-grid{grid-template-columns:1fr!important}}
