.ocamb-conflict-filters { display: none !important; }
.open-user-map .oum-map-filter-wrapper,
.open-user-map .oum-filter-toggle { display: none !important; }

.ocai-layout {
  display: grid;
  grid-template-columns: minmax(300px, 35%) minmax(0, 65%);
  width: 100%;
  min-height: 620px;
  border: 1px solid #d6dfda;
  background: #fff;
  box-shadow: 0 10px 28px rgba(24, 58, 48, .10);
}

.ocai-panel {
  display: flex;
  min-width: 0;
  min-height: 620px;
  max-height: 620px;
  flex-direction: column;
  overflow: hidden;
  border-right: 1px solid #d6dfda;
  background: #f8fbf9;
  color: #17332b;
}

.ocai-tabs { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid #d6dfda; background: #fff; }
.ocai-tab { min-height: 54px; padding: 10px 6px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #36544b; font: inherit; font-size: .9rem; font-weight: 700; cursor: pointer; }
.ocai-tab:hover, .ocai-tab[aria-selected="true"] { color: #075c53; background: #eff8f5; }
.ocai-tab[aria-selected="true"] { border-bottom-color: #087a6d; }
.ocai-panel-body { flex: 1; overflow-y: auto; overflow-x: hidden; padding: 1rem; }
.ocai-panel-view[hidden] { display: none; }
.ocai-panel h2 { margin: 0 0 .9rem; color: #123f35; font-size: 1rem; line-height: 1.35; }
.ocai-panel h3 { margin: .25rem 0; font-size: .95rem; }
.ocai-field { display: grid; gap: .3rem; margin-bottom: .8rem; font-size: .84rem; font-weight: 700; }
.ocai-field input { width: 100%; min-height: 42px; padding: .55rem .65rem; border: 1px solid #9fb3ab; border-radius: 4px; background: #fff; color: #193a30; font: inherit; }
.ocai-year-range { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.ocai-actions { display: flex; gap: .6rem; margin: .9rem 0 1rem; }
.ocai-button { min-height: 40px; padding: .5rem .75rem; border: 1px solid #087a6d; border-radius: 4px; background: #087a6d; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.ocai-button--secondary { background: #fff; color: #087a6d; }
.ocai-count { margin: .9rem 0 .45rem; font-size: .9rem; font-weight: 700; color: #23473d; }
.ocai-results { display: grid; gap: .65rem; }
.ocai-card { padding: .8rem; border: 1px solid #d3e1db; border-left: 4px solid #0b806f; border-radius: 4px; background: #fff; scroll-margin: 1rem; }
.ocai-card.is-active { outline: 3px solid rgba(218, 130, 40, .38); border-left-color: #d87b22; }
.ocai-card p { margin: .35rem 0; font-size: .84rem; line-height: 1.45; }
.ocai-card__meta { color: #4c665e; }
.ocai-card__chips { display: flex; flex-wrap: wrap; gap: .3rem; margin: .55rem 0; }
.ocai-chip { display: inline-block; padding: .18rem .45rem; border-radius: 999px; background: #e7f3ee; color: #18584b; font-size: .72rem; font-weight: 700; }
.ocai-card__actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem; }
.ocai-card__actions button, .ocai-card__actions a { min-height: 34px; padding: .3rem .55rem; border: 1px solid #0b806f; border-radius: 3px; background: #fff; color: #075c53; font: inherit; font-size: .78rem; font-weight: 700; cursor: pointer; text-decoration: none; }
.ocai-accordion { margin: 0 0 .55rem; border: 1px solid #c8d9d2; border-radius: 4px; background: #fff; }
.ocai-accordion summary { padding: .7rem; color: #173d33; font-size: .87rem; font-weight: 700; cursor: pointer; }
.ocai-options { display: grid; gap: .35rem; max-height: 260px; overflow-y: auto; padding: .25rem .75rem .75rem; }
.ocai-option { display: flex; gap: .45rem; align-items: flex-start; color: #304d44; font-size: .82rem; line-height: 1.3; cursor: pointer; }
.ocai-option input { width: 1rem; height: 1rem; margin: .05rem 0 0; accent-color: #087a6d; }
.ocai-note { margin: .4rem 0 .8rem; color: #5b716a; font-size: .8rem; line-height: 1.45; }
.ocai-map-column { min-width: 0; overflow: hidden; background: #dce7e3; }
.ocai-map-column .elementor-widget { height: 100%; margin: 0; }
.ocai-map-column .elementor-widget-container,
.ocai-map-column .open-user-map,
.ocai-map-column .oum-map-container,
.ocai-map-column .box-wrap,
.ocai-map-column .map-wrap { height: 100%; }
.ocai-map-column .leaflet-map { min-height: 620px; }
.ocai-layer-group { margin-bottom: .85rem; }
.ocai-layer-group h3 { margin: .75rem 0 .4rem; color: #1c5145; font-size: .82rem; text-transform: uppercase; letter-spacing: .03em; }
.ocai-layer-option { display: grid; grid-template-columns: auto 1fr; gap: .45rem; align-items: start; padding: .52rem 0; border-bottom: 1px solid #e1ebe7; color: #244b40; font-size: .84rem; }
.ocai-layer-option input { margin-top: .15rem; accent-color: #087a6d; }
.ocai-layer-source { display: block; margin-top: .15rem; color: #5a7269; font-size: .72rem; }
.ocai-layer-status { display: block; margin-top: .18rem; color: #0f766e; font-size: .72rem; font-weight: 700; }
.ocai-layer-status.is-error { color: #a33a1e; }
.ocai-layer-details { margin: 0 0 .45rem 1.45rem; color: #4b645b; font-size: .76rem; }
.ocai-layer-details summary { cursor: pointer; color: #075c53; font-weight: 700; }
.ocai-layer-metadata { display: grid; grid-template-columns: minmax(90px, 35%) 1fr; gap: .24rem .5rem; margin: .45rem 0; line-height: 1.35; }
.ocai-layer-metadata dt { font-weight: 700; }
.ocai-layer-metadata dd { margin: 0; overflow-wrap: anywhere; }
.ocai-layer-description { margin: .45rem 0 0; overflow-wrap: anywhere; }
.ocai-layer-links { margin: .45rem 0 0; }
.ocai-layer-links a { color: #075c53; font-weight: 700; text-decoration: underline; }
.ocai-legend { display: grid; gap: .4rem; margin-top: 1rem; padding-top: .8rem; border-top: 1px solid #d6dfda; }
.ocai-legend-item { display: flex; gap: .45rem; align-items: flex-start; color: #3d5c53; font-size: .78rem; }
.ocai-legend-swatch { display: inline-block; width: 20px; height: 11px; margin-top: .25rem; border: 2px solid currentColor; background: currentColor; opacity: .72; }
.ocai-legend-swatch--linha { height: 3px; margin-top: .55rem; border-width: 0 0 3px; background: transparent; }
.ocai-legend-swatch--ponto { width: 12px; height: 12px; border-radius: 50%; }
.ocai-legend-text { display: grid; gap: .1rem; }
.ocai-legend-detail { color: #5a7269; font-size: .7rem; line-height: 1.35; }
.ocai-feature-popup { max-width: 320px; color: #17332b; font-size: .83rem; line-height: 1.42; }
.ocai-feature-popup__title { display: block; margin-bottom: .35rem; color: #123f35; font-size: .98rem; }
.ocai-feature-popup__summary { margin: .3rem 0 .55rem; }
.ocai-feature-popup__meta { margin: .45rem 0; padding-top: .45rem; border-top: 1px solid #d6dfda; }
.ocai-feature-popup__row { margin: .18rem 0; overflow-wrap: anywhere; }
.ocai-feature-popup__links { margin-top: .55rem; }
.ocai-feature-popup__links a { color: #075c53; font-weight: 700; text-decoration: underline; }
.ocai-map-column .leaflet-tooltip.ocai-feature-tooltip-shell { overflow-wrap: anywhere; word-break: break-word; white-space: normal; }
.ocai-map-column path.ocai-fixed-bahia-outline { vector-effect: non-scaling-stroke; }
.leaflet-tooltip.ocai-feature-tooltip-shell { max-width: 255px; padding: .42rem .58rem; border: 1px solid #aac9bd; border-radius: 5px; box-shadow: 0 2px 9px rgba(17, 55, 45, .18); background: #fff; color: #17332b; font-size: .78rem; line-height: 1.35; pointer-events: none; }
.leaflet-tooltip.ocai-feature-tooltip-shell::before { border-top-color: #aac9bd; }
.ocai-feature-tooltip strong { display: block; color: #123f35; font-size: .83rem; }
.ocai-feature-tooltip span { display: block; margin-top: .1rem; color: #4b665d; }
.ocai-detail { margin-top: .9rem; padding: .8rem; border: 1px solid #bcd3ca; border-radius: 4px; background: #fff; }
.ocai-detail[hidden] { display: none; }
.ocai-detail h3 { margin-top: 0; }
.ocai-detail h4 { margin: 1rem 0 .35rem; color: #1c5145; font-size: .9rem; }
.ocai-detail p { font-size: .84rem; line-height: 1.5; }
.ocai-detail ul { margin: .35rem 0 .75rem 1.15rem; }
.ocai-detail li { margin-bottom: .38rem; font-size: .82rem; line-height: 1.45; }
.ocai-detail a + a { margin-left: .65rem; }
.ocai-detail__close { float: right; padding: .22rem .5rem; border: 1px solid #8ca59b; border-radius: 3px; background: #fff; color: #075c53; font: inherit; font-size: .75rem; font-weight: 700; cursor: pointer; }

@media (max-width: 920px) {
  .ocai-layout { grid-template-columns: minmax(280px, 40%) minmax(0, 60%); }
}

@media (max-width: 767px) {
  .ocai-layout { display: flex; min-height: 0; flex-direction: column; }
  .ocai-panel { min-height: 0; max-height: 470px; border-right: 0; border-bottom: 1px solid #d6dfda; }
  .ocai-map-column .leaflet-map { min-height: 460px; }
  .ocai-tab { min-height: 50px; font-size: .8rem; }
}

/* A lista é opt-in: estas regras só têm efeito quando a opção pública está ligada. */
.ocai-layout--with-list { grid-template-columns: minmax(270px, 28%) minmax(0, 1fr) minmax(270px, 28%); }
.ocai-layout--with-list:not(.ocai-layout--show-list) { grid-template-columns: minmax(300px, 35%) minmax(0, 65%); }
.ocai-layout--with-list:not(.ocai-layout--show-list) .ocai-persistent-list { display: none; }
.ocai-persistent-list { display: flex; min-width: 0; min-height: 620px; max-height: 620px; flex-direction: column; overflow: hidden; border-left: 1px solid #d6dfda; background: #f8fbf9; color: #17332b; }
.ocai-persistent-list__header { padding: .9rem 1rem .75rem; border-bottom: 1px solid #d6dfda; background: #fff; }
.ocai-persistent-list__header h2 { margin: 0; color: #123f35; font-size: 1rem; line-height: 1.35; }
.ocai-persistent-list__count { margin: .25rem 0 0; color: #4c665e; font-size: .8rem; font-weight: 700; }
.ocai-persistent-list__body { min-height: 0; flex: 1; overflow-y: auto; overflow-x: hidden; padding: .75rem; }
.ocai-persistent-list__results { display: grid; gap: .6rem; }
.ocai-persistent-card { padding: .65rem; border-left-width: 3px; }
.ocai-persistent-card--with-image { display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: .65rem; }
.ocai-persistent-card__image { display: block; width: 78px; height: 78px; border-radius: 3px; object-fit: cover; background: #e7f3ee; }
.ocai-persistent-card__content { min-width: 0; }
.ocai-persistent-card h3 { margin: 0; color: #173d33; font-size: .9rem; line-height: 1.3; }
.ocai-persistent-card__subtitle { color: #4c665e; }
.ocai-persistent-card__chips { margin: .42rem 0; }
.ocai-persistent-card__summary { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; color: #344f46; }
.ocai-persistent-card__actions { margin-top: .5rem; }
.ocai-detail__summary { color: #304d44; }

@media (min-width: 768px) and (max-width: 1100px) {
  .ocai-layout--with-list { grid-template-columns: minmax(280px, 40%) minmax(0, 60%); }
  .ocai-layout--with-list .ocai-persistent-list { grid-column: 1 / -1; min-height: 0; max-height: 400px; height: 400px; border-top: 1px solid #d6dfda; border-left: 0; }
}

@media (max-width: 767px) {
  .ocai-layout--with-list .ocai-persistent-list { min-height: 0; max-height: 400px; height: 400px; border-top: 1px solid #d6dfda; border-left: 0; }
}
