/*
 * SustentAgro 2.0 — estilos comuns (ADR-005, D-32: paleta "Campo suave").
 * Bootstrap 5.3 faz quase tudo; este arquivo só troca as cores e cria os poucos componentes próprios.
 * Regra do grupo: estilo novo entra aqui, nunca solto dentro de um template.
 * Referência visual: docs/prototipo.html.
 */

:root,
[data-bs-theme="light"] {
  --sa-verde: #3d7a16;
  --sa-verde-forte: #2f6110;
  --sa-sobre-verde: #ffffff;
  --sa-limao: #a6e36b;
  --sa-sobre-limao: #1d1f1c;
  --sa-apoio: #eaf7dc;
  --sa-sobre-apoio: #2f5e10;
  --sa-numero: #3d7a16;

  --bs-body-bg: #f6f8f3;
  --bs-body-color: #1f241c;
  --bs-secondary-color: #5c6657;
  --bs-tertiary-bg: #eef2ea;
  --bs-border-color: #dde4d6;
  --bs-primary: #3d7a16;
  --bs-primary-rgb: 61, 122, 22;
  --bs-link-color: #3d7a16;
  --bs-link-color-rgb: 61, 122, 22;
  --bs-link-hover-color: #2f6110;
  --bs-link-hover-color-rgb: 47, 97, 16;
  --bs-card-bg: #ffffff;
  --sa-superficie: #ffffff;

  --bs-font-sans-serif: "Figtree", "Segoe UI", system-ui, sans-serif;
  --sa-fonte-display: "Montserrat", "Segoe UI", system-ui, sans-serif;
}

[data-bs-theme="dark"] {
  --sa-verde: #4a8a1f;
  --sa-verde-forte: #5a9c2c;
  --sa-sobre-verde: #f3f7ee;
  --sa-apoio: #2c3a24;
  --sa-sobre-apoio: #c5ee9c;
  --sa-numero: #b9ea88;

  --bs-body-bg: #1a1d19;
  --bs-body-color: #e6eae2;
  --bs-secondary-color: #a0a89a;
  --bs-tertiary-bg: #2a3028;
  --bs-border-color: #343a31;
  --bs-primary: #4a8a1f;
  --bs-primary-rgb: 74, 138, 31;
  --bs-link-color: #a6e36b;
  --bs-link-color-rgb: 166, 227, 107;
  --bs-link-hover-color: #c5ee9c;
  --bs-link-hover-color-rgb: 197, 238, 156;
  --sa-superficie: #232822;
}

body { background: var(--bs-body-bg); }
h1, h2, h3, .h1, .h2, .h3, .navbar-brand { font-family: var(--sa-fonte-display); text-wrap: balance; }
.text-numero { color: var(--sa-numero); font-variant-numeric: tabular-nums; }
.tabular { font-variant-numeric: tabular-nums; }

/* Botões e componentes do Bootstrap com a cor da marca */
.btn-primary {
  --bs-btn-bg: var(--sa-verde); --bs-btn-border-color: var(--sa-verde); --bs-btn-color: var(--sa-sobre-verde);
  --bs-btn-hover-bg: var(--sa-verde-forte); --bs-btn-hover-border-color: var(--sa-verde-forte);
  --bs-btn-hover-color: var(--sa-sobre-verde);
  --bs-btn-active-bg: var(--sa-verde-forte); --bs-btn-active-border-color: var(--sa-verde-forte);
}
.btn-outline-primary {
  --bs-btn-color: var(--sa-verde); --bs-btn-border-color: var(--sa-verde);
  --bs-btn-hover-bg: var(--sa-verde); --bs-btn-hover-border-color: var(--sa-verde); --bs-btn-hover-color: var(--sa-sobre-verde);
}
.progress { --bs-progress-bar-bg: var(--sa-verde); --bs-progress-height: .6rem; background: var(--bs-tertiary-bg); }
.progress.cheia { --bs-progress-bar-bg: var(--sa-limao); }
.card { --bs-card-bg: var(--sa-superficie); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--sa-verde); }
.form-control, .form-select { background-color: var(--sa-superficie); }

/* Selos */
.selo { display: inline-flex; align-items: center; gap: .25rem; font-size: .75rem; font-weight: 700;
  padding: .15rem .5rem; border-radius: .25rem; white-space: nowrap; }
.selo-apoio { background: var(--sa-apoio); color: var(--sa-sobre-apoio); }
.selo-limao { background: var(--sa-limao); color: var(--sa-sobre-limao); }
.selo-neutro { background: var(--bs-tertiary-bg); color: var(--bs-secondary-color); }
.selo-ods { display: inline-flex; align-items: center; gap: .35rem; font-size: .75rem; font-weight: 600; }
.selo-ods i { width: 1.25rem; height: 1.25rem; border-radius: .25rem; display: inline-grid; place-items: center;
  font-style: normal; color: #fff; font-size: .7rem; font-weight: 800; }

/* Menu */
.navbar { background: var(--sa-superficie); border-bottom: 1px solid var(--bs-border-color); }
.navbar .nav-link.active { box-shadow: inset 0 -2px 0 var(--sa-verde); font-weight: 700; }
.marca-icone { width: 1.6rem; height: 1.6rem; }

/* Capa de ONG sem imagem: sulcos de plantio desenhados em CSS */
.capa-ong { position: relative; background-color: var(--sa-verde); min-height: 5.5rem;
  background-image: repeating-linear-gradient(-28deg, rgb(255 255 255 / .10) 0 10px, transparent 10px 26px),
    linear-gradient(160deg, rgb(255 255 255 / .12), rgb(0 0 0 / .18)); background-size: cover; background-position: center; }
.capa-ong.grande { min-height: 11rem; }
.logo-ong { width: 3.5rem; height: 3.5rem; border-radius: .75rem; background: var(--sa-superficie); color: var(--sa-verde);
  display: grid; place-items: center; font-family: var(--sa-fonte-display); font-weight: 800; font-size: 1.25rem;
  border: 3px solid var(--sa-superficie); object-fit: cover; }
.capa-ong .logo-ong { position: absolute; left: 1rem; bottom: -1.4rem; }
.capa-ong.grande .logo-ong { width: 5.25rem; height: 5.25rem; font-size: 1.75rem; bottom: -2.25rem; border-radius: 1rem; }

/* "Precisa agora" no cartão da ONG */
.precisa { background: var(--bs-tertiary-bg); border-radius: .375rem; padding: .5rem .65rem; font-size: .85rem; }
.precisa .progress { background: var(--bs-border-color); }
.precisa b { font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; color: var(--sa-numero); }

/* Ofertas */
.oferta-direcionada { border-color: var(--sa-verde) !important; }

/* Aviso de tela em construção (camada 0) */
.aviso-construcao { border: 1px dashed var(--bs-border-color); border-radius: .5rem; padding: .75rem 1rem;
  font-size: .85rem; color: var(--bs-secondary-color); }

/* Barra do perfil simulado: só aparece com DEBUG */
.barra-mock { background: #1d1f1c; color: #e6eae2; font-size: .8rem; }
.barra-mock a { color: #a6e36b; }
.barra-mock a.atual { color: #fff; font-weight: 700; text-decoration: none; }
