/* Estilos exclusivos: publico/obras-publicas.html */
.portal-work-stages-action{display:flex;justify-content:flex-start;margin:18px 0 4px}.portal-work-stages-action button,.works-stage-modal-back{border:0;background:#0b5a91;color:#fff;padding:11px 18px;cursor:pointer;box-shadow:0 8px 20px rgba(11,90,145,.2)}.portal-work-stages-action button:hover,.works-stage-modal-back:hover{background:#084675}.works-stage-modal-view{display:grid;gap:16px;width:100%;padding:6px}.works-stage-modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-right:46px}.works-stage-modal-head h3{margin:0;color:#073b70;font-size:24px}.works-stage-modal-view .works-stage-panel{min-width:0}.works-stage-modal-view .works-stage-summary{margin-top:0}@media(max-width:620px){.works-stage-modal-head{align-items:flex-start;flex-direction:column;padding-right:42px}.works-stage-modal-head h3{font-size:20px}.works-stage-modal-back{padding:9px 13px}}
.portal-work-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.portal-work-video-grid video{display:block;width:100%;max-height:260px;border-radius:12px;background:#071b2b}@media(max-width:620px){.portal-work-video-grid{grid-template-columns:1fr}}

.portal-work-actions-row{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;margin:18px 0 4px}.portal-work-actions-row button{border:0;background:#0b5a91;color:#fff;padding:10px 14px;cursor:pointer;box-shadow:0 8px 20px rgba(11,90,145,.2);white-space:nowrap}.portal-work-actions-row button:hover{background:#084675}.portal-work-actions-row button:focus-visible{outline:3px solid rgba(11,90,145,.28);outline-offset:2px}@media(max-width:760px){.portal-work-actions-row{gap:8px}.portal-work-actions-row button{flex:1 1 auto;min-width:145px;padding:10px 13px}}

.portal-acquisition-detail{width:100%;padding:18px;box-sizing:border-box}.portal-acquisition-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.portal-acquisition-head h3{margin:0;color:#0c477e;font-size:24px}.portal-acquisition-head p{margin:4px 0 0;color:#61758a;font-size:13px}.portal-acquisition-head button{width:38px;border:0;background:#eaf2f9;color:#0b4f82;cursor:pointer}.portal-acquisition-grid{display:grid;grid-template-columns:1.05fr .85fr .75fr 1.2fr .95fr 1.15fr .7fr .8fr;gap:16px 20px;padding:22px;border:1px solid #dce6ee;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgba(12,54,85,.08)}.portal-acquisition-item{min-width:0}.portal-acquisition-item.wide{grid-column:1/-1}.portal-acquisition-item.span3{grid-column:span 3}.portal-acquisition-item.span4{grid-column:span 4}.portal-acquisition-item.span2{grid-column:span 2}.portal-acquisition-item.end{text-align:right}.portal-acquisition-item.value strong{white-space:nowrap;overflow-wrap:normal;word-break:normal}.portal-acquisition-item small{display:block;margin-bottom:5px;color:#123f80;font-size:12px;font-weight:400}.portal-acquisition-item strong{display:block;color:#111;font-size:14px;font-weight:400;line-height:1.4;overflow-wrap:anywhere}@media(max-width:900px){.portal-acquisition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-acquisition-item,.portal-acquisition-item.span2,.portal-acquisition-item.span3,.portal-acquisition-item.span4{grid-column:auto}.portal-acquisition-item.wide{grid-column:1/-1}.portal-acquisition-item.end{text-align:left}}@media(max-width:560px){.portal-acquisition-grid{grid-template-columns:1fr}.portal-acquisition-item.wide{grid-column:auto}}

/* Lista publica de documentos vinculados a obra */
.portal-work-documents-detail{width:100%;padding:18px;box-sizing:border-box}
.portal-work-documents-list{display:grid;gap:10px;padding:2px 0 8px}
.portal-work-document-item{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:12px 14px;border:1px solid #d7e3ef;border-radius:11px;background:#f7fafd;box-sizing:border-box}
.portal-work-document-item__info{display:flex!important;align-items:center;gap:12px;min-width:0;flex:1}
.portal-work-document-item__icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:9px;background:#e8f2fb;color:#0b5f98;font-size:11px;font-weight:400;text-transform:uppercase}
.portal-work-document-item__text{display:grid!important;gap:3px;min-width:0}
.portal-work-document-item strong{display:block;color:#0b4177;font-size:14px;font-weight:400;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}
.portal-work-document-item small{display:block;color:#63758a;font-size:12px;line-height:1.2}
.portal-work-document-item a{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:72px;height:34px;padding:0 16px;border-radius:8px;background:#0b649e;color:#fff;text-decoration:none;font-size:13px;font-weight:400;box-shadow:0 4px 10px rgba(11,100,158,.16)}
.portal-work-document-item a:hover{background:#084f7e}
@media(max-width:620px){.portal-work-document-item{gap:10px;padding:10px}.portal-work-document-item__icon{display:none}.portal-work-document-item strong{white-space:normal}.portal-work-document-item a{min-width:62px;padding:0 12px}}

/* Card público da obra: mantém o título e exibe o objeto como resumo */
.portal-work-card .portal-public-body h3{margin:10px 0 8px;color:#083b73;font-size:20px;line-height:1.3}
.portal-work-card .portal-public-body p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;min-height:5.6em;margin:0 0 12px;color:#5e7185;font-size:14px;font-weight:400;line-height:1.4}
.portal-work-card .portal-meta:empty{display:none}


/* REGRA GLOBAL FINAL: frontend sem negrito */
html body,
html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body label, html body legend,
html body button, html body input, html body select, html body textarea, html body option,
html body p, html body span, html body small, html body a,
html body strong, html body b,
html body th, html body td, html body li,
html body [role="button"], html body [role="tab"], html body [class*="title"],
html body [class*="label"], html body [class*="heading"], html body [class*="caption"] {
  font-weight: 400 !important;
}
/* Mantem somente o peso estrutural exigido por fontes de icones. */
html body .fa, html body .fas, html body .fa-solid,
html body [class^="fa-"], html body [class*=" fa-"] {
  font-weight: 900 !important;
}
html body .far, html body .fa-regular {
  font-weight: 400 !important;
}

/* PADRAO PUBLICO DE MODAL 20260713: compacto, galeria centralizada e fechamento vermelho */
.portal-modal-window .portal-modal-content {
  padding: 16px 18px 18px;
}

.portal-modal-window .portal-modal-head {
  margin-bottom: 8px;
  padding-right: 42px;
}

.portal-modal-window .portal-modal-head-top {
  gap: 8px;
  margin-bottom: 6px;
}

.portal-modal-window .portal-modal-head h3 {
  margin-top: 6px;
  font-size: 25px;
  line-height: 1.12;
}

.portal-modal-window .portal-detail-meta {
  margin-top: 7px;
}

.portal-modal-window .portal-detail-section {
  margin-top: 10px;
  padding-top: 10px;
}

.portal-modal-window .portal-detail-section h4 {
  margin-bottom: 6px;
  font-size: 15px;
}

.portal-modal-window .portal-detail-text {
  line-height: 1.45;
}

.portal-modal-window .portal-detail-grid {
  gap: 7px;
}

.portal-modal-window .portal-detail-item {
  gap: 3px;
  padding: 8px 9px;
  border-radius: 10px;
}

.portal-modal-window .portal-modal-layout.has-gallery {
  align-items: center;
}

.portal-modal-window .portal-modal-gallery {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
}

.portal-modal-window .portal-modal-gallery-card {
  width: 100%;
  min-height: 0;
}

.portal-modal-window .portal-modal-gallery-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 10 !important;
  height: auto;
  min-height: 0;
}

.portal-modal-window .portal-modal-gallery-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

.portal-modal-window .portal-modal-gallery-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center center;
}

.portal-modal-window .portal-modal-gallery-dots {
  margin-top: 0;
  padding: 10px 0;
  background: transparent;
}

.portal-modal-window .portal-modal-close {
  background: #fff1f1;
  color: #cf2323;
  border: 1px solid #f2c4c4;
}

.portal-modal-window .portal-modal-close:hover {
  background: #fde6e6;
  color: #b91919;
}

@media (max-width: 900px) {
  .portal-modal-window .portal-modal-content {
    padding: 14px;
  }

  .portal-modal-window .portal-modal-layout.has-gallery {
    align-items: start;
  }

  .portal-modal-window .portal-modal-gallery-stage {
    aspect-ratio: 16 / 10 !important;
  }
}

@media (max-width: 560px) {
  .portal-modal-window .portal-modal-head h3 {
    font-size: 22px;
  }

  .portal-modal-window .portal-modal-gallery-stage {
    aspect-ratio: 4 / 3 !important;
  }
}

/* PADRAO VISUAL INDIVIDUAL PLANO DIRETOR 20260713 */
body[data-page="obras-publicas"] {
  --pd-azul:#0b4d88;
  --pd-azul-escuro:#083f73;
  --pd-verde:#0a9868;
  --pd-vermelho:#c63c31;
  --pd-borda:#d5e2ee;
  --pd-fundo:#f3f7fb;
  --pd-campo:#f8fbfd;
  --pd-texto:#143b64;
  --pd-muted:#667b8f;
}
body[data-page="obras-publicas"] .public-content {
  background:var(--pd-fundo);
  padding:22px 0 34px;
}
body[data-page="obras-publicas"] .public-content > .container,
body[data-page="obras-publicas"] main.public-content .container {
  width:min(1320px,calc(100% - 32px));
  margin-inline:auto;
}
body[data-page="obras-publicas"] .public-content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body[data-page="obras-publicas"] .public-content select {
  height:36px!important;
  min-height:36px!important;
  padding:0 12px!important;
  border:1px solid var(--pd-borda)!important;
  border-radius:8px!important;
  background:var(--pd-campo)!important;
  color:var(--pd-texto)!important;
  font-size:14px!important;
  box-sizing:border-box!important;
}
body[data-page="obras-publicas"] .public-content textarea {
  min-height:86px!important;
  padding:10px 12px!important;
  border:1px solid var(--pd-borda)!important;
  border-radius:8px!important;
  background:var(--pd-campo)!important;
  color:var(--pd-texto)!important;
  font-size:14px!important;
  line-height:1.4!important;
  box-sizing:border-box!important;
}
body[data-page="obras-publicas"] .public-content button,
body[data-page="obras-publicas"] .public-content .btn,
body[data-page="obras-publicas"] .public-content a[class*="btn"],
body[data-page="obras-publicas"] .public-content [role="button"] {
  min-height:40px!important;
  padding:0 16px!important;
  border-radius:9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-size:14px!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
body[data-page="obras-publicas"] .public-content button svg,
body[data-page="obras-publicas"] .public-content .btn svg,
body[data-page="obras-publicas"] .public-content button i,
body[data-page="obras-publicas"] .public-content .btn i {
  width:16px!important;
  height:16px!important;
  font-size:16px!important;
  flex:0 0 16px!important;
}
body[data-page="obras-publicas"] .public-content form,
body[data-page="obras-publicas"] .public-content .card,
body[data-page="obras-publicas"] .public-content [class$="-card"],
body[data-page="obras-publicas"] .public-content [class*="-card "] {
  border-color:var(--pd-borda)!important;
  border-radius:14px!important;
}
body[data-page="obras-publicas"] .public-content table {
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid var(--pd-borda);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
body[data-page="obras-publicas"] .public-content th,
body[data-page="obras-publicas"] .public-content td {
  padding:10px 12px!important;
  border-bottom:1px solid #e4edf4!important;
  font-size:13px!important;
}
body[data-page="obras-publicas"] .portal-modal-window,
body[data-page="obras-publicas"] [class$="-modal-box"],
body[data-page="obras-publicas"] [class*="-modal-box "] {
  width:min(1320px,calc(100vw - 32px))!important;
  max-width:none!important;
  max-height:calc(100vh - 24px)!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
body[data-page="obras-publicas"] .portal-modal-close,
body[data-page="obras-publicas"] [class*="modal"] button[aria-label*="Fechar"],
body[data-page="obras-publicas"] [class*="modal"] button[aria-label*="fechar"] {
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  padding:0!important;
  border-radius:10px!important;
}
body[data-page="obras-publicas"] .portal-modal-gallery-prev,
body[data-page="obras-publicas"] .portal-modal-gallery-next,
body[data-page="obras-publicas"] [class*="modal"] [class*="prev"],
body[data-page="obras-publicas"] [class*="modal"] [class*="next"] {
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:1px solid rgba(11,77,136,.24)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--pd-azul)!important;
  box-shadow:0 4px 12px rgba(11,77,136,.14)!important;
}
@media(max-width:760px) {
  body[data-page="obras-publicas"] .public-content > .container,
  body[data-page="obras-publicas"] main.public-content .container {width:min(100% - 20px,1320px)}
  body[data-page="obras-publicas"] .public-content button,
  body[data-page="obras-publicas"] .public-content .btn,
  body[data-page="obras-publicas"] .public-content a[class*="btn"] {min-height:38px!important;padding-inline:13px!important}
}
