/* Estilos exclusivos: publico/galeria-fotos.html */


/* 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="galeria-fotos"] {
  --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="galeria-fotos"] .public-content {
  background:var(--pd-fundo);
  padding:22px 0 34px;
}
body[data-page="galeria-fotos"] .public-content > .container,
body[data-page="galeria-fotos"] main.public-content .container {
  width:min(1320px,calc(100% - 32px));
  margin-inline:auto;
}
body[data-page="galeria-fotos"] .public-content input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body[data-page="galeria-fotos"] .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="galeria-fotos"] .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="galeria-fotos"] .public-content button,
body[data-page="galeria-fotos"] .public-content .btn,
body[data-page="galeria-fotos"] .public-content a[class*="btn"],
body[data-page="galeria-fotos"] .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="galeria-fotos"] .public-content button svg,
body[data-page="galeria-fotos"] .public-content .btn svg,
body[data-page="galeria-fotos"] .public-content button i,
body[data-page="galeria-fotos"] .public-content .btn i {
  width:16px!important;
  height:16px!important;
  font-size:16px!important;
  flex:0 0 16px!important;
}
body[data-page="galeria-fotos"] .public-content form,
body[data-page="galeria-fotos"] .public-content .card,
body[data-page="galeria-fotos"] .public-content [class$="-card"],
body[data-page="galeria-fotos"] .public-content [class*="-card "] {
  border-color:var(--pd-borda)!important;
  border-radius:14px!important;
}
body[data-page="galeria-fotos"] .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="galeria-fotos"] .public-content th,
body[data-page="galeria-fotos"] .public-content td {
  padding:10px 12px!important;
  border-bottom:1px solid #e4edf4!important;
  font-size:13px!important;
}
body[data-page="galeria-fotos"] .portal-modal-window,
body[data-page="galeria-fotos"] [class$="-modal-box"],
body[data-page="galeria-fotos"] [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="galeria-fotos"] .portal-modal-close,
body[data-page="galeria-fotos"] [class*="modal"] button[aria-label*="Fechar"],
body[data-page="galeria-fotos"] [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="galeria-fotos"] .portal-modal-gallery-prev,
body[data-page="galeria-fotos"] .portal-modal-gallery-next,
body[data-page="galeria-fotos"] [class*="modal"] [class*="prev"],
body[data-page="galeria-fotos"] [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="galeria-fotos"] .public-content > .container,
  body[data-page="galeria-fotos"] main.public-content .container {width:min(100% - 20px,1320px)}
  body[data-page="galeria-fotos"] .public-content button,
  body[data-page="galeria-fotos"] .public-content .btn,
  body[data-page="galeria-fotos"] .public-content a[class*="btn"] {min-height:38px!important;padding-inline:13px!important}
}
