/* ==========================================================================
   PÁGINAS INTERNAS — SISTEMA CONSOLIDADO
   Arquivo: assets/css/pages/internal.css

   A imagem do hero está em:
   assets/css/images/dourados-wide.webp

   Por isso, o caminho correto a partir deste arquivo é:
   ../images/dourados-wide.webp
   ========================================================================== */

.gr-page-internal {
  background: var(--gr-surface);
}

.gr-page-internal main {
  /* O hero começa atrás do header, como na Home. */
  padding-top: 0;
}

/* ==========================================================================
   HERO DAS PÁGINAS INTERNAS
   ========================================================================== */

.gr-page-internal .gr-page-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;

  /* Mantém o tamanho original do hero interno */
  min-height: calc(clamp(27rem, 42vw, 33rem) + var(--gr-header-height));

  padding:
    calc(var(--gr-header-height) + clamp(4.5rem, 7vw, 6.5rem))
    0
    clamp(3.8rem, 6vw, 5.25rem);

  color: var(--gr-white);

  /* Mesmo fundo visual da Home, sem copiar a altura da Home */
  background:
    radial-gradient(
      circle at 83% 18%,
      rgba(242, 213, 28, 0.18),
      transparent 18rem
    ),
    radial-gradient(
      circle at 92% 24%,
      rgba(24, 175, 87, 0.33),
      transparent 26rem
    ),
    radial-gradient(
      circle at 15% 90%,
      rgba(24, 189, 229, 0.25),
      transparent 30rem
    ),
    linear-gradient(
      110deg,
      rgba(4, 27, 77, 0.96) 0%,
      rgba(7, 43, 112, 0.89) 42%,
      rgba(12, 69, 155, 0.64) 68%,
      rgba(24, 175, 87, 0.28) 100%
    ),
    var(--gr-city-hero-image, url("../../images/dourados-city.webp"))
      center 52% / cover no-repeat;
}

.gr-page-internal .gr-page-hero::before {
  display: none;
}

.gr-page-internal .gr-page-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(12, 69, 155, 0.18),
      transparent
    );
}

/* Mesmo eixo do header, conteúdo e footer */
.gr-page-internal .gr-page-hero__inner {
  position: relative;
  z-index: 2;
  width: var(--gr-container-wide);
  margin-inline: auto;
}

/* ==========================================================================
   BREADCRUMB
   ========================================================================== */

.gr-page-internal .gr-breadcrumbs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-bottom: 1rem;
  color: rgba(255, 255, 255, 0.88);
  font-family: var(--gr-font-light);
  font-size: 0.82rem;
  font-weight: 700;
}

.gr-page-internal .gr-breadcrumbs a {
  color: rgba(255, 255, 255, 0.88);
}

.gr-page-internal .gr-breadcrumbs a:hover {
  color: var(--gr-white);
}

.gr-page-internal .gr-breadcrumbs i {
  font-size: 0.7rem;
}

/* ==========================================================================
   CHAMADA, TÍTULO E TEXTO
   ========================================================================== */

.gr-page-internal .gr-page-hero .gr-section-label {
  margin-bottom: 1.15rem;
  color: rgba(255, 255, 255, 0.88);
}

.gr-page-internal .gr-page-hero__title {
  max-width: 17ch;
  margin: 0 0 1.2rem;
  color: var(--gr-white);
  font-family: var(--gr-font-display);
  font-size: var(--gr-type-hero-internal);
  font-weight: 900;
  line-height: var(--gr-leading-display);
  letter-spacing: -0.025em;
}

.gr-page-internal .gr-page-hero__lead {
  max-width: 48rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--gr-font-light);
  font-size: var(--gr-type-body-lg);
  line-height: var(--gr-leading-body);
}


/* ==========================================================================
   ESCALA TIPOGRÁFICA DAS PÁGINAS INTERNAS
   Os níveis abaixo definem função, não uma página específica.
   ========================================================================== */

.gr-page-internal .gr-title {
  font-size: var(--gr-type-section-lg);
  line-height: var(--gr-leading-display);
}

.gr-page-internal .gr-title--sm {
  font-size: var(--gr-type-section-md);
}

.gr-page-internal .gr-title--xs {
  font-size: var(--gr-type-section-sm);
  line-height: var(--gr-leading-heading);
}

.gr-page-internal .gr-lead {
  font-size: var(--gr-type-body-lg);
  line-height: var(--gr-leading-body);
}

.gr-page-internal .gr-page-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.25rem;
}

.gr-internal-section {
  padding: clamp(3.8rem, 7vw, 6rem) 0;
}

.gr-content-layout {
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 20rem);
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.gr-main-column,
.gr-sidebar {
  min-width: 0;
}

.gr-sidebar {
  display: grid;
  align-content: start;
  gap: 1rem;
  position: sticky;
  top: calc(var(--gr-header-height) + 1.25rem);
}

.gr-sidebar-card {
  padding: 1.15rem;
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-md);
  background: var(--gr-white);
  box-shadow: var(--gr-shadow-sm);
}

.gr-sidebar-card h2,
.gr-sidebar-card h3 {
  margin: 0 0 0.85rem;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-card-title);
}

.gr-sidebar-list {
  list-style: none;
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
}

.gr-sidebar-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.65rem 0;
  border-bottom: 1px solid var(--gr-border);
  color: var(--gr-blue-800);
  font-weight: 700;
}

.gr-sidebar-list li:last-child a {
  border-bottom: 0;
}

.gr-sidebar-list a:hover {
  color: var(--gr-blue-950);
}

.gr-sidebar-cta {
  color: var(--gr-white);
  background: linear-gradient(135deg, var(--gr-blue-900), var(--gr-green-700));
}

.gr-sidebar-cta h3,
.gr-sidebar-cta p {
  color: var(--gr-white);
}

.gr-sidebar-cta p {
  color: rgba(255, 255, 255, 0.78);
}

.gr-archive-grid,
.gr-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.1rem;
}

.gr-archive-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gr-action-card,
.gr-event-card,
.gr-info-card {
  overflow: hidden;
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-md);
  background: var(--gr-white);
  box-shadow: var(--gr-shadow-sm);
  transition: transform var(--gr-transition), box-shadow var(--gr-transition);
}

.gr-action-card:hover,
.gr-event-card:hover,
.gr-info-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--gr-shadow-md);
}

.gr-action-card__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--gr-blue-950);
}

.gr-action-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 420ms ease;
}

.gr-action-card:hover img {
  transform: scale(1.035);
}

.gr-action-card__badges {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.gr-action-card__body,
.gr-info-card__body {
  display: grid;
  gap: 0.62rem;
  padding: 1rem 1.05rem 1.15rem;
}

.gr-action-card__body h2,
.gr-action-card__body h3,
.gr-info-card__body h3 {
  margin: 0;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
  line-height: 1.08;
}

.gr-action-card__body p,
.gr-info-card__body p {
  margin: 0;
  color: var(--gr-muted);
}

.gr-link-arrow {
  font-weight: 700;
}

.gr-link-arrow:hover {
  color: var(--gr-blue-700);
}

.gr-article {
  padding: clamp(1.1rem, 2.5vw, 2rem);
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-lg);
  background: var(--gr-white);
  box-shadow: var(--gr-shadow-sm);
}

.gr-article__featured {
  margin-top: 0;
  border-radius: var(--gr-radius-md);
}

.gr-article p,
.gr-legal-content p {
  color: #344361;
  font-size: 1.03rem;
  line-height: 1.7;
}

.gr-article h2,
.gr-article h3,
.gr-legal-content h2,
.gr-legal-content h3 {
  color: var(--gr-blue-950);
}

.gr-article h2,
.gr-legal-content h2 {
  margin-top: 2rem;
  font-size: var(--gr-type-section-sm);
}

.gr-quote,
blockquote.gr-quote {
  position: relative;
  margin: 2rem 0;
  padding: 1.5rem 1.5rem 1.5rem 4.4rem;
  border: 1px solid rgba(242, 213, 28, 0.55);
  border-left: 0.35rem solid var(--gr-yellow-500);
  border-radius: var(--gr-radius-md);
  color: var(--gr-blue-950);
  background: #fff8db;
  font-family: var(--gr-font-quote);
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-style: italic;
  font-weight: 700;
  line-height: 1.3;
}

.gr-quote::before {
  content: "“";
  position: absolute;
  top: 0.55rem;
  left: 1.25rem;
  color: var(--gr-blue-800);
  font-family: Georgia, serif;
  font-size: 4rem;
  line-height: 1;
}

.gr-article-list,
.gr-check-list {
  display: grid;
  gap: 0.75rem;
  padding-left: 1.2rem;
}

.gr-check-list {
  list-style: none;
  padding-left: 0;
}

.gr-check-list li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.7rem;
}

.gr-check-list i {
  color: var(--gr-green-600);
}

.gr-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.gr-stat-card {
  padding: 1.25rem;
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-md);
  background: var(--gr-white);
  box-shadow: var(--gr-shadow-sm);
}

.gr-stat-card strong {
  display: block;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-display);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
}

.gr-stat-card span {
  display: block;
  margin-top: 0.45rem;
  color: var(--gr-muted);
}

.gr-timeline {
  display: grid;
  gap: 1rem;
}

.gr-timeline__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-md);
  background: var(--gr-white);
}

.gr-timeline__marker {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
  font-weight: 700;
}

.gr-timeline__item h3 {
  margin: 0;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
}

.gr-timeline__item p {
  margin: 0.35rem 0 0;
  color: var(--gr-muted);
}

.gr-legal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: 2rem;
  align-items: start;
}

.gr-legal-content {
  padding: clamp(1.2rem, 2.5vw, 2rem);
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-lg);
  background: var(--gr-white);
}

.gr-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.gr-contact-card {
  padding: 1.25rem;
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-md);
  background: var(--gr-white);
  box-shadow: var(--gr-shadow-sm);
}

.gr-contact-card > .gr-contact-card__icon {
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
  font-size: var(--gr-type-card-title);
}

.gr-contact-card h2,
.gr-contact-card h3 {
  margin: 0.9rem 0 0.35rem;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
}

.gr-form-card {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-lg);
  background: var(--gr-white);
  box-shadow: var(--gr-shadow-md);
}

.gr-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.gr-field {
  display: grid;
  gap: 0.4rem;
}

.gr-field--full {
  grid-column: 1 / -1;
}

.gr-field label,
.gr-field__legend {
  color: var(--gr-blue-950);
  font-weight: 700;
}

.gr-field input,
.gr-field select,
.gr-field textarea {
  width: 100%;
  min-height: 3.15rem;
  padding: 0.75rem 0.9rem;
  border: 1px solid rgba(12, 69, 155, 0.28);
  border-radius: 0.9rem;
  color: var(--gr-blue-950);
  background: var(--gr-white);
}

.gr-field select {
  padding-right: 2.4rem;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23041b4d' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.9rem center;
  background-size: 0.7rem;
}

.gr-field textarea {
  min-height: 9rem;
  resize: vertical;
}

.gr-empty-state {
  padding: 2rem;
  border: 1px dashed rgba(12, 69, 155, 0.3);
  border-radius: var(--gr-radius-md);
  text-align: center;
  background: var(--gr-white);
}

.gr-404 {
  min-height: calc(100vh - var(--gr-header-height));
  display: grid;
  place-items: center;
  padding: calc(var(--gr-header-height) + 2rem) 1rem 4rem;
  text-align: center;
  background:
    radial-gradient(circle at 50% 20%, rgba(24, 189, 229, 0.12), transparent 25rem),
    var(--gr-surface);
}

.gr-404__code {
  color: var(--gr-yellow-500);
  font-family: var(--gr-font-display);
  font-size: clamp(6rem, 20vw, 13rem);
  line-height: 0.8;
  text-shadow: 0 12px 30px rgba(4, 27, 77, 0.12);
}

.gr-404 h1 {
  margin: 1rem 0;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-display);
  font-size: clamp(2rem, 5vw, 4rem);
}


/* ==========================================================================
   FORMULÁRIOS INTERNOS — PAUTAS CLICÁVEIS
   ========================================================================== */
.gr-page-internal .gr-form-topic-grid--main {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
}

.gr-page-internal .gr-form-card .gr-topic {
  min-height: 3.5rem;
  padding: 0.75rem;
  border: 1px solid rgba(12, 69, 155, 0.28);
  border-radius: 1rem;
  color: var(--gr-blue-950);
  background: #f6f9fd;
  box-shadow: none;
}

.gr-page-internal .gr-form-card .gr-topic strong {
  color: var(--gr-blue-950);
  font-weight: 700;
}

.gr-page-internal .gr-form-card .gr-topic small {
  color: var(--gr-muted);
  font-weight: 600;
}

.gr-page-internal .gr-form-card .gr-topic:hover {
  transform: translateY(-2px);
  border-color: var(--gr-blue-700);
  color: var(--gr-blue-950);
  background: rgba(24, 189, 229, 0.1);
}

.gr-page-internal .gr-form-card .gr-topic.is-selected,
.gr-page-internal .gr-form-card .gr-topic[aria-pressed="true"] {
  transform: none;
  border-color: var(--gr-blue-900);
  color: var(--gr-blue-950);
  background: rgba(24, 189, 229, 0.15);
  box-shadow: 0 0 0 3px rgba(24, 189, 229, 0.08);
}

.gr-page-internal .gr-form-card .gr-topic__icon {
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
}

/* ==========================================================================
   PARTICIPE — SIDECAR COMPLEMENTAR
   ========================================================================== */

.gr-page-participate .gr-participate-support__heading {
  padding: 0.2rem 0.15rem 0.55rem;
}

.gr-page-participate .gr-participate-support__heading h2 {
  margin: 0.4rem 0 0;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-card-title-lg);
  line-height: 1.08;
}

.gr-page-participate .gr-participate-support__card {
  display: flex;
  flex-direction: column;
  min-height: 12.5rem;
}

.gr-page-participate .gr-participate-support__icon {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  border-radius: 0.9rem;
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
  font-size: 1.2rem;
}

.gr-page-participate .gr-participate-support__card h3 {
  margin-top: 0.9rem;
}

.gr-page-participate .gr-participate-support__card p {
  margin: 0 0 1rem;
  color: var(--gr-muted);
  line-height: 1.5;
}

.gr-page-participate .gr-participate-support__card .gr-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  align-self: flex-start;
  margin-top: auto;
  color: var(--gr-blue-700);
}

/* ==========================================================================
   HEADER DAS PÁGINAS INTERNAS
   --------------------------------------------------------------------------
   O header e a navegação são os mesmos da Home. As regras ficam somente em
   core/components.css e responsive/site.css para evitar duas implementações
   concorrentes do mesmo componente.
   ========================================================================== */

/* ==========================================================================
   AJUSTES FINAIS DAS PÁGINAS INTERNAS
   ========================================================================== */

/* Sobre: leitura ampla, sem sidebar. */
.gr-page-about .gr-main-column {
  width: min(100%, 66rem);
  margin-inline: auto;
}

/* Notícias: todas as imagens mantêm a mesma proporção e enquadramento. */
.gr-page-news .gr-news-card__media {
  height: auto;
  aspect-ratio: 16 / 10;
}

.gr-page-news .gr-news-card__media img {
  object-position: center;
}

/* Agenda: cartões em formato de linha editorial, mais claros e escaneáveis. */
.gr-page-agenda .gr-archive-grid--three {
  grid-template-columns: 1fr;
}

.gr-page-agenda .gr-event-card {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.25rem;
  padding: 1.1rem 1.25rem;
}

.gr-page-agenda .gr-event-card .gr-info-card__body {
  display: contents;
}

.gr-page-agenda .gr-event-card__date {
  display: grid;
  place-items: center;
  min-height: 6.25rem;
  padding: 0.8rem;
  border-radius: var(--gr-radius-md);
  color: var(--gr-white);
  background: linear-gradient(145deg, var(--gr-blue-950), var(--gr-blue-700));
  text-align: center;
}

.gr-page-agenda .gr-event-card__date strong {
  font-family: var(--gr-font-display);
  font-size: 2.15rem;
  line-height: 0.9;
}

.gr-page-agenda .gr-event-card__date span {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.gr-page-agenda .gr-event-card__content {
  display: grid;
  gap: 0.5rem;
}

.gr-page-agenda .gr-event-card__content h3,
.gr-page-agenda .gr-event-card__content p {
  margin: 0;
}

.gr-page-agenda .gr-event-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  color: var(--gr-muted);
  font-size: 0.92rem;
}

.gr-page-agenda .gr-event-card__meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

/* ==========================================================================
   PÁGINAS INTERNAS — COMPOSIÇÕES EDITORIAIS CONSOLIDADAS
   Estilos exclusivos das páginas. Componentes globais permanecem em
   core/components.css e a responsividade permanece em responsive/site.css.
   ========================================================================== */

.gr-section-heading {
  max-width: 48rem;
  margin-bottom: 2rem;
}

.gr-section-heading p {
  color: var(--gr-muted);
}

.gr-section-heading--split {
  max-width: none;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
}

/* ==========================================================================
   SOBRE / TRAJETÓRIA
   ========================================================================== */

.gr-about-intro__grid {
  display: grid;
  grid-template-columns: minmax(18rem, 0.78fr) 1.22fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.gr-about-intro__media {
  position: relative;
}

.gr-about-intro__media img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--gr-radius-lg);
  box-shadow: var(--gr-shadow-lg);
}

.gr-about-intro__stamp {
  position: absolute;
  right: -1.25rem;
  bottom: 2rem;
  padding: 1rem 1.2rem;
  border-radius: 1rem;
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
  font-family: var(--gr-font-display);
  font-size: 1.5rem;
  line-height: 1;
}

.gr-about-intro__stamp small {
  font-family: var(--gr-font-body);
  font-size: 0.72rem;
}

.gr-about-intro__content {
  display: grid;
  gap: 1.25rem;
}

.gr-editorial-quote {
  margin: 0;
  padding: 1.25rem 1.5rem;
  border-left: 4px solid var(--gr-yellow-500);
  border-radius: 0 1rem 1rem 0;
  color: var(--gr-blue-950);
  background: #fff8d9;
  font-family: var(--gr-font-quote);
  font-size: var(--gr-type-card-title);
  font-style: italic;
  font-weight: 700;
}

.gr-about-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.gr-about-pillars article {
  display: grid;
  gap: 0.45rem;
  padding: 1.2rem;
  border: 1px solid var(--gr-border);
  border-radius: 1rem;
  background: var(--gr-white);
}

.gr-about-pillars i {
  color: var(--gr-green-600);
  font-size: 1.45rem;
}

.gr-about-pillars span {
  color: var(--gr-muted);
  font-size: 0.88rem;
}

.gr-about-timeline {
  padding: clamp(4rem, 8vw, 7rem) 0;
  color: var(--gr-white);
  background: var(--gr-blue-950);
}

.gr-about-timeline .gr-title,
.gr-about-timeline p {
  color: var(--gr-white);
}

.gr-about-timeline .gr-timeline {
  position: relative;
  display: grid;
  gap: 0;
  max-width: 58rem;
  margin-inline: auto;
}

.gr-about-timeline .gr-timeline::before {
  content: "";
  position: absolute;
  left: 7.2rem;
  top: 1rem;
  bottom: 1rem;
  width: 2px;
  background: linear-gradient(var(--gr-yellow-500), var(--gr-green-500));
}

.gr-about-timeline .gr-timeline article {
  position: relative;
  display: grid;
  grid-template-columns: 6rem 1fr;
  gap: 2.5rem;
  padding: 1.5rem 0;
}

.gr-about-timeline .gr-timeline article::before {
  content: "";
  position: absolute;
  left: 6.85rem;
  top: 2rem;
  width: 0.75rem;
  height: 0.75rem;
  border: 3px solid var(--gr-blue-950);
  border-radius: 50%;
  background: var(--gr-yellow-500);
}

.gr-timeline__year {
  color: var(--gr-yellow-500);
  font-weight: 900;
  text-align: right;
}

.gr-about-timeline .gr-timeline h3 {
  margin: 0 0 0.4rem;
  color: var(--gr-white);
}

.gr-about-timeline .gr-timeline p {
  margin: 0;
  opacity: 0.76;
}

.gr-method-section {
  padding: 4rem 0;
}

.gr-method-card {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 3rem;
  padding: clamp(2rem, 4vw, 4rem);
  border-radius: var(--gr-radius-lg);
  background: linear-gradient(135deg, #eef5ff, #e7fff1);
}

.gr-method-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.gr-method-steps li {
  padding: 1rem;
  border: 1px solid var(--gr-border);
  border-radius: 1rem;
  background: var(--gr-white);
}

.gr-method-steps span {
  display: block;
  color: var(--gr-green-600);
  font-weight: 900;
}

.gr-legacy-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.gr-legacy-strip article {
  padding: 1.5rem;
  border: 1px solid var(--gr-border);
  border-radius: 1rem;
  background: var(--gr-white);
}

.gr-legacy-strip strong {
  display: block;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-display);
  font-size: 2.4rem;
}

.gr-about-closing {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding: 4rem 0;
}

/* ==========================================================================
   ATUAÇÃO — BANDEIRAS, TERRITÓRIO E LEGADO
   ========================================================================== */

.gr-actions-flags-showcase {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 7vw, 6.5rem) 0;
  color: var(--gr-white);
  background: var(--gr-white);
}

.gr-actions-flags-showcase::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 44px 44px;
  mask-image: linear-gradient(to bottom, transparent, #000 20%, #000 80%, transparent);
}

.gr-actions-flags-showcase > .gr-container--wide {
  position: relative;
  z-index: 1;
}

.gr-actions-flags-showcase__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2rem;
  align-items: end;
  margin-bottom: 2.2rem;
}

.gr-actions-flags-showcase__head > div {
  max-width: 50rem;
}

.gr-actions-flags-showcase__head .gr-title,
.gr-actions-flags-showcase__head p {
  color: var(--gr-white);
}

.gr-actions-flags-showcase__head p {
  max-width: 44rem;
  margin-bottom: 0;
  opacity: 0.78;
}

.gr-flags-grid--hierarchy {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(13rem, auto));
  gap: 1rem;
}

.gr-page-actions .gr-flag-card {
  position: relative;
  display: block;

  min-width: 0;
  padding: 0;
  overflow: hidden;

  border: 1px solid rgba(255,255,255,0.14);
  border-radius: var(--gr-radius-md);

  color: var(--gr-white);
  background-color: rgba(255,255,255,0.08);

  box-shadow: 0 18px 44px rgba(0,0,0,0.12);

  cursor: pointer;

  transition:
    transform var(--gr-transition),
    border-color var(--gr-transition),
    box-shadow var(--gr-transition),
    filter var(--gr-transition);
}

.gr-page-actions .gr-flag-card:hover {
  transform: translateY(-4px);

  border-color: rgba(255,255,255,0.3);

  box-shadow:
    0 26px 54px rgba(4, 27, 77, 0.22);

  /*
   * Não usamos a propriedade background no hover.
   * Assim, a imagem de cada card permanece visível.
   */
  filter: saturate(1.04) brightness(1.02);
}

.gr-page-actions .gr-flag-card--health {
  grid-column: 1 / 7;
  grid-row: 1 / 3;
  min-height: 27rem;
  background:
    linear-gradient(160deg, rgba(7,43,112,0.08), rgba(4,27,77,0.92)),
    url("../../images/hospital-regional.webp") center / cover no-repeat;
}

.gr-page-actions .gr-flag-card--education {
  grid-column: 7 / 13;
  grid-row: 1;
  background:
    linear-gradient(135deg, rgba(7,43,112,0.84), rgba(12,69,155,0.72)),
    url("../../images/escola-indigena-card.webp") center / cover no-repeat;
}

.gr-page-actions .gr-flag-card--infrastructure {
  grid-column: 7 / 10;
  grid-row: 2;

  background:
    linear-gradient(
      155deg,
      rgba(7, 43, 112, 0.18),
      rgba(4, 27, 77, 0.84)
    ),
    var(
      --gr-city-hero-image,
      url("../../images/dourados-city.webp")
    )
    center / cover no-repeat;
}

.gr-page-actions .gr-flag-card--development {
  grid-column: 10 / 13;
  grid-row: 2;

  background:
    linear-gradient(
      145deg,
      rgba(10, 143, 70, 0.56),
      rgba(4, 27, 77, 0.86)
    ),
    var(
      --gr-city-hero-image,
      url("../../images/dourados-city.webp")
    )
    center / cover no-repeat;
}

.gr-page-actions .gr-flag-card--territory,
.gr-page-actions .gr-flag-card--community {
  background:
    linear-gradient(145deg, rgba(7,43,112,0.76), rgba(4,27,77,0.92)),
    var(--gr-city-hero-image, url("../../images/dourados-city.webp"))
    center / cover no-repeat;
}

.gr-flags-grid--hierarchy[data-count="1"] .gr-flag-card {
  grid-column: 1 / 13;
  grid-row: auto;
}

.gr-flags-grid--hierarchy[data-count="2"] .gr-flag-card {
  grid-column: span 6;
  grid-row: auto;
}

.gr-flags-grid--hierarchy[data-count="3"] .gr-flag-card,
.gr-flags-grid--hierarchy[data-count="6"] .gr-flag-card {
  grid-column: span 4;
  grid-row: auto;
  min-height: 18rem;
}

.gr-flags-grid--hierarchy[data-count="5"] .gr-flag-card {
  grid-column: span 4;
  grid-row: auto;
  min-height: 18rem;
}

.gr-flags-grid--hierarchy[data-count="5"] .gr-flag-card:nth-child(4),
.gr-flags-grid--hierarchy[data-count="5"] .gr-flag-card:nth-child(5) {
  grid-column: span 6;
}


/* ==========================================================================
   CARD INTEIRO CLICÁVEL
   O filtro continua usando data-archive-filter, agora no botão completo.
   ========================================================================== */

.gr-page-actions .gr-flag-card__trigger {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 1rem;

  width: 100%;
  height: 100%;
  min-height: inherit;

  padding: clamp(1.35rem, 2.6vw, 2rem);

  border: 0;

  color: inherit;
  background: transparent;

  font: inherit;
  text-align: left;

  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;
}

.gr-page-actions
.gr-flag-card--health
.gr-flag-card__trigger {
  align-content: end;
}

.gr-page-actions .gr-flag-card__trigger:focus-visible {
  outline: 3px solid var(--gr-yellow-500);
  outline-offset: -5px;
}


/* Os cards menores usam título mais contido para preservar a fotografia. */

.gr-page-actions
.gr-flag-card--infrastructure
.gr-flag-card__copy h3,
.gr-page-actions
.gr-flag-card--development
.gr-flag-card__copy h3 {
  max-width: 15ch;

  font-size: var(--gr-type-card-title-lg);
  line-height: 1.02;
}
.gr-flag-card__number {
  position: absolute;
  right: 1rem;
  top: 0.65rem;
  color: rgba(255,255,255,0.10);
  font-family: var(--gr-font-display);
  font-size: clamp(3rem, 6vw, 5.5rem);
  line-height: 1;
}

.gr-flag-card__icon {
  width: 3.2rem;
  height: 3.2rem;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 1rem;
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
  font-size: 1.45rem;
}

.gr-flag-card__copy {
  align-self: end;
}

.gr-flag-card__copy small {
  display: block;
  margin-bottom: 0.4rem;
  color: rgba(255,255,255,0.7);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.gr-flag-card__copy h3 {
  max-width: 18ch;
  margin: 0 0 0.65rem;
  color: var(--gr-white);
  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-feature-title);
  line-height: 1.02;
}

.gr-flag-card__copy p {
  max-width: 42rem;
  margin: 0;
  color: rgba(255,255,255,0.78);
}

.gr-flag-card__action {
  justify-self: start;

  display: inline-flex;
  align-items: center;
  gap: 0.5rem;

  color: var(--gr-white);

  font-family: var(--gr-font-badge);
  font-weight: 700;

  transition:
    color var(--gr-transition),
    transform var(--gr-transition);
}

.gr-page-actions
.gr-flag-card__trigger:hover
.gr-flag-card__action,
.gr-page-actions
.gr-flag-card__trigger.is-active
.gr-flag-card__action {
  color: var(--gr-yellow-500);
  transform: translateX(0.15rem);
}

.gr-internal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 19rem;
  gap: 2.5rem;
  align-items: start;
}

.gr-city-context {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(1.5rem, 3vw, 2.2rem);
  border-radius: var(--gr-radius-lg);
  color: var(--gr-white);
  background:
    radial-gradient(circle at 90% 10%, rgba(242,213,28,0.17), transparent 13rem),
    linear-gradient(135deg, var(--gr-blue-950), var(--gr-blue-700));
  box-shadow: var(--gr-shadow-md);
}

.gr-city-context .gr-title,
.gr-city-context p {
  color: var(--gr-white);
}

.gr-city-context p {
  max-width: 48rem;
  margin-bottom: 0.75rem;
  opacity: 0.82;
}

.gr-city-context__region {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--gr-yellow-300);
  font-family: var(--gr-font-badge);
  font-size: 0.82rem;
}

.gr-city-select-card {
  min-width: 14rem;
}

.gr-city-select-card > span {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--gr-white);
  font-family: var(--gr-font-badge);
  font-weight: 700;
}

.gr-city-select-card select,
.gr-sidebar select {
  width: 100%;
  min-height: 3rem;
  padding: 0.75rem 2.6rem 0.75rem 0.9rem;
  border: 1px solid var(--gr-border);
  border-radius: 0.8rem;
  color: var(--gr-blue-950);
  background: var(--gr-white);
}

.gr-local-legacy {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 2rem;
  margin-top: 0;
  padding: clamp(1.5rem, 3vw, 2.2rem);
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-lg);
  background: linear-gradient(135deg, #f3f7fc, #eefaf3);
}

.gr-local-legacy__intro p {
  margin-bottom: 0;
  color: var(--gr-muted);
}

.gr-impact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  align-self: stretch;
}

.gr-impact-grid article {
  display: grid;
  align-content: center;
  padding: 1rem;
  border: 1px solid rgba(7,43,112,0.08);
  border-radius: 1rem;
  background: var(--gr-white);
}

.gr-impact-grid strong {
  display: block;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-display);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  line-height: 1;
}

.gr-impact-grid span {
  display: block;
  margin-top: 0.45rem;
  color: var(--gr-muted);
  font-size: 0.78rem;
}

.gr-deliveries-section {
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

.gr-deliveries-section__city {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex: 0 0 auto;
  padding: 0.65rem 0.9rem;
  border: 1px solid var(--gr-border);
  border-radius: 999px;
  color: var(--gr-blue-900);
  background: var(--gr-white);
  font-family: var(--gr-font-badge);
  font-size: 0.82rem;
}

.gr-deliveries-list {
  display: grid;
  gap: 1rem;
}

.gr-deliveries-list article {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1.25rem;
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-md);
  background: var(--gr-white);
  box-shadow: 0 10px 28px rgba(4,27,77,0.05);
  transition: transform var(--gr-transition), box-shadow var(--gr-transition), border-color var(--gr-transition);
}

.gr-deliveries-list article:hover {
  transform: translateY(-2px);
  border-color: rgba(12,69,155,0.25);
  box-shadow: var(--gr-shadow-sm);
}

.gr-deliveries-list article[hidden] {
  display: none;
}

.gr-deliveries-list h3 {
  margin: 0.55rem 0 0.3rem;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-card-title);
}

.gr-deliveries-list p {
  margin: 0;
  color: var(--gr-muted);
}

.gr-deliveries-list small {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.55rem;
  color: var(--gr-green-700);
  font-weight: 700;
}

.gr-delivery-icon {
  width: 4rem;
  height: 4rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  color: var(--gr-blue-700);
  background: #eef6ff;
  font-size: 1.5rem;
}

.gr-local-timeline {
  padding-top: clamp(3.5rem, 7vw, 5.5rem);
}

.gr-mini-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.gr-mini-timeline article {
  position: relative;
  padding: 1.25rem;
  border-top: 4px solid var(--gr-yellow-500);
  border-radius: 0 0 1rem 1rem;
  background: var(--gr-white);
  box-shadow: var(--gr-shadow-sm);
}

.gr-mini-timeline article::before {
  content: "";
  position: absolute;
  top: -0.52rem;
  left: 1.25rem;
  width: 0.75rem;
  height: 0.75rem;
  border: 3px solid var(--gr-white);
  border-radius: 50%;
  background: var(--gr-yellow-500);
}

.gr-mini-timeline strong {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--gr-blue-700);
  font-family: var(--gr-font-display);
  font-size: 1.4rem;
}

.gr-sidebar-card--city h2 {
  margin-bottom: 0.35rem;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-card-title-lg);
}

.gr-sidebar-card--city p {
  margin: 0 0 0.8rem;
  color: var(--gr-muted);
  font-size: 0.86rem;
}

.gr-sidebar-card--flags button {
  width: 100%;
  display: grid;
  grid-template-columns: 2rem 1fr;
  gap: 0.65rem;
  align-items: center;
  padding: 0.72rem;
  border: 1px solid transparent;
  border-radius: 0.8rem;
  color: var(--gr-blue-950);
  background: #f5f8fc;
  text-align: left;
  font-family: var(--gr-font-badge);
  transition: background var(--gr-transition), color var(--gr-transition), border-color var(--gr-transition);
}

.gr-sidebar-card--flags button i {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 0.65rem;
  color: var(--gr-blue-800);
  background: var(--gr-white);
}

.gr-sidebar-card--flags button:hover,
.gr-sidebar-card--flags button.is-active {
  border-color: rgba(12,69,155,0.14);
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
}

.gr-sidebar-card--download {
  color: var(--gr-white);
  background: linear-gradient(145deg, var(--gr-blue-950), var(--gr-blue-700));
}

.gr-sidebar-card--download > i {
  color: var(--gr-yellow-500);
  font-size: 1.7rem;
}

.gr-sidebar-card--download h3,
.gr-sidebar-card--download p {
  color: var(--gr-white);
}

/* ==========================================================================
   CAMPANHA
   ========================================================================== */

.gr-campaign-opening {
  display: grid;
  grid-template-columns: 1fr 0.8fr;
  gap: 2rem;
  align-items: end;
}

.gr-campaign-opening blockquote {
  margin: 0;
  padding: 2rem;
  border-radius: var(--gr-radius-md);
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
  font-family: var(--gr-font-quote);
  font-size: 1.35rem;
  font-style: italic;
  font-weight: 700;
}

.gr-campaign-feature {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  margin: 3rem 0 4rem;
  overflow: hidden;
  border-radius: var(--gr-radius-lg);
  color: var(--gr-white);
  background: var(--gr-blue-950);
  box-shadow: var(--gr-shadow-md);
}

.gr-campaign-feature img {
  width: 100%;
  height: 100%;
  min-height: 22rem;
  object-fit: cover;
}

.gr-campaign-feature > div {
  display: grid;
  align-content: center;
  gap: 1rem;
  padding: 2.5rem;
}

.gr-campaign-feature h2,
.gr-campaign-feature p {
  color: var(--gr-white);
}

.gr-feeling-band {
  display: grid;
  grid-template-columns: 1fr 18rem;
  align-items: center;
  margin-top: 4rem;
  overflow: hidden;
  border-radius: var(--gr-radius-lg);
  color: var(--gr-white);
  background: linear-gradient(135deg, var(--gr-green-700), var(--gr-blue-950));
}

.gr-feeling-band > div {
  padding: 2.5rem;
}

.gr-feeling-band h2,
.gr-feeling-band p {
  color: var(--gr-white);
}

.gr-feeling-band img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==========================================================================
   AGENDA
   ========================================================================== */

.gr-next-event {
  display: grid;
  grid-template-columns: 7rem minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: center;
  padding: 2rem;
  border-radius: var(--gr-radius-lg);
  color: var(--gr-white);
  background:var(--gr-blue-700);
  box-shadow: var(--gr-shadow-md);
}

.gr-next-event h2,
.gr-next-event p {
  color: var(--gr-white);
}

.gr-next-event__date {
  display: grid;
  place-items: center;
  padding: 1rem;
  border-radius: 1rem;
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
}

.gr-next-event__date strong {
  font-family: var(--gr-font-display);
  font-size: 2.8rem;
  line-height: 1;
}





.gr-route-history {
  padding: 5rem 0;
}

.gr-route-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.gr-route-grid article {
  position: relative;
  overflow: hidden;
  border-radius: var(--gr-radius-md);
  background: var(--gr-white);
  box-shadow: var(--gr-shadow-sm);
}

.gr-route-grid article > span {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  width: 2.5rem;
  height: 2.5rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
  font-weight: 900;
}

.gr-route-grid img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.gr-route-grid div {
  padding: 1.25rem;
}


/* ==========================================================================
   PARTICIPE — CONSENTIMENTO ACESSÍVEL
   ========================================================================== */

.gr-page-participate .gr-consent {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.7rem;
  align-items: start;
  padding: 0.85rem;
  border: 1px solid var(--gr-border);
  border-radius: 0.9rem;
  background: #f7f9fc;
  cursor: pointer;
}

.gr-page-participate .gr-consent:hover {
  border-color: rgba(12,69,155,0.28);
  background: #f0f6ff;
}

.gr-page-participate .gr-consent input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.gr-page-participate .gr-consent__box {
  width: 1.35rem;
  height: 1.35rem;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 2px solid var(--gr-blue-700);
  border-radius: 0.35rem;
  color: transparent;
  background: var(--gr-white);
  transition: background var(--gr-transition), border-color var(--gr-transition), box-shadow var(--gr-transition);
}

.gr-page-participate .gr-consent__box i {
  font-size: 0.9rem;
  line-height: 1;
}

.gr-page-participate .gr-consent input:checked + .gr-consent__box {
  border-color: var(--gr-green-600);
  color: var(--gr-white);
  background: var(--gr-green-600);
}

.gr-page-participate .gr-consent input:focus-visible + .gr-consent__box {
  box-shadow: 0 0 0 4px rgba(34,139,224,0.18);
}







/* ==========================================================================
   O QUE FAREMOS — PLANO DE ATUAÇÃO PARLAMENTAR
   Inserir ao final de: assets/css/pages/internal.css

   A página usa apenas tokens e componentes já existentes no projeto.
   Não depende de core/project-system.css.
   ========================================================================== */

/* ==========================================================================
   01. HERO E AÇÕES
   ========================================================================== */

.gr-page-plan .gr-page-hero__title {
  max-width: 15ch;
}

.gr-page-plan .gr-page-hero__lead {
  max-width: 54rem;
}

.gr-page-plan .gr-page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem;
  margin: 1.65rem 0;
}

.gr-page-plan .gr-btn--accent {
  color: var(--gr-blue-950);
  border-color: transparent;
  background: var(--gr-yellow-500);
  box-shadow: 0 16px 34px rgba(242, 213, 28, 0.24);
}

.gr-page-plan .gr-btn--accent:hover {
  color: var(--gr-blue-950);
  background: #f8df39;
  box-shadow: 0 20px 42px rgba(242, 213, 28, 0.3);
}

.gr-page-plan .gr-btn--outline-page {
  color: var(--gr-white);
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.gr-page-plan .gr-btn--outline-page:hover {
  color: var(--gr-blue-950);
  border-color: var(--gr-white);
  background: var(--gr-white);
}

/* ==========================================================================
   02. ABERTURA E PRINCÍPIOS
   ========================================================================== */

.gr-page-plan .gr-plan-intro {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(32rem, 1.08fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.gr-page-plan .gr-plan-intro__copy {
  display: grid;
  align-content: start;
  gap: 0.95rem;
}

.gr-page-plan .gr-plan-intro__copy .gr-section-label,
.gr-page-plan .gr-plan-intro__copy .gr-title,
.gr-page-plan .gr-plan-intro__copy p {
  margin: 0;
}

.gr-page-plan .gr-plan-intro__copy .gr-title {
  max-width: 13ch;
}

.gr-page-plan .gr-plan-intro__copy p {
  max-width: 42rem;
  color: var(--gr-muted);
  font-size: var(--gr-type-body-lg);
  line-height: var(--gr-leading-body);
}

.gr-page-plan .gr-plan-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}

.gr-page-plan .gr-plan-principle {
  position: relative;
  display: grid;
  align-content: start;
  gap: 0.7rem;
  min-width: 0;
  min-height: 15.25rem;
  padding: 1.35rem;
  overflow: hidden;
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-md);
  background:
    linear-gradient(160deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.9));
  box-shadow: var(--gr-shadow-sm);
  transition:
    transform var(--gr-transition),
    box-shadow var(--gr-transition),
    border-color var(--gr-transition);
}

.gr-page-plan .gr-plan-principle::after {
  content: "";
  position: absolute;
  right: -2.5rem;
  bottom: -3.25rem;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  background: rgba(24, 189, 229, 0.08);
}

.gr-page-plan .gr-plan-principle:hover {
  transform: translateY(-4px);
  border-color: rgba(12, 69, 155, 0.22);
  box-shadow: var(--gr-shadow-md);
}

.gr-page-plan .gr-plan-principle__icon {
  position: relative;
  z-index: 1;
  width: 3.25rem;
  height: 3.25rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
  box-shadow: 0 10px 24px rgba(242, 213, 28, 0.2);
  font-size: 1.35rem;
}

.gr-page-plan .gr-plan-principle h3 {
  position: relative;
  z-index: 1;
  margin: 0.15rem 0 0;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-card-title);
  line-height: 1.08;
}

.gr-page-plan .gr-plan-principle p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--gr-muted);
  font-size: 0.94rem;
  line-height: 1.55;
}

/* ==========================================================================
   03. PRIORIDADES
   ========================================================================== */

.gr-page-plan #prioridades {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 4%, rgba(24, 189, 229, 0.1), transparent 25rem),
    linear-gradient(180deg, #edf3fa 0%, var(--gr-surface) 100%);
}

.gr-page-plan #prioridades::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(7, 43, 112, 0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7, 43, 112, 0.028) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 85%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 15%, #000 85%, transparent);
}

.gr-page-plan #prioridades > .gr-container--wide {
  position: relative;
  z-index: 1;
}

.gr-page-plan #prioridades .gr-section-heading {
  max-width: 54rem;
}

.gr-page-plan .gr-plan-priorities {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.gr-page-plan .gr-plan-priority {
  --gr-plan-accent: var(--gr-blue-700);
  --gr-plan-accent-soft: rgba(23, 104, 202, 0.11);

  position: relative;
  min-width: 0;
  padding: clamp(1.35rem, 2.4vw, 2rem);
  overflow: hidden;
  border: 1px solid var(--gr-border);
  border-top: 0.3rem solid var(--gr-plan-accent);
  border-radius: var(--gr-radius-md);
  background: var(--gr-white);
  box-shadow: 0 16px 38px rgba(4, 27, 77, 0.08);
  transition:
    transform var(--gr-transition),
    box-shadow var(--gr-transition),
    border-color var(--gr-transition);
}

.gr-page-plan .gr-plan-priority::after {
  content: "";
  position: absolute;
  right: -4.5rem;
  top: -4.5rem;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  background: var(--gr-plan-accent-soft);
  pointer-events: none;
}

.gr-page-plan .gr-plan-priority:hover {
  transform: translateY(-4px);
  box-shadow: var(--gr-shadow-md);
}

.gr-page-plan .gr-plan-priority--health {
  --gr-plan-accent: #df3e62;
  --gr-plan-accent-soft: rgba(223, 62, 98, 0.1);
}

.gr-page-plan .gr-plan-priority--education {
  --gr-plan-accent: var(--gr-blue-700);
  --gr-plan-accent-soft: rgba(23, 104, 202, 0.1);
}

.gr-page-plan .gr-plan-priority--social {
  --gr-plan-accent: #7d4fc7;
  --gr-plan-accent-soft: rgba(125, 79, 199, 0.1);
}

.gr-page-plan .gr-plan-priority--infrastructure {
  --gr-plan-accent: #d18b05;
  --gr-plan-accent-soft: rgba(209, 139, 5, 0.11);
}

.gr-page-plan .gr-plan-priority--development {
  --gr-plan-accent: var(--gr-green-600);
  --gr-plan-accent-soft: rgba(24, 175, 87, 0.1);
}

.gr-page-plan .gr-plan-priority--indigenous {
  --gr-plan-accent: #a45b24;
  --gr-plan-accent-soft: rgba(164, 91, 36, 0.1);
}

.gr-page-plan .gr-plan-priority__head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.2rem;
}

.gr-page-plan .gr-plan-priority__icon {
  width: 3.65rem;
  height: 3.65rem;
  display: grid;
  place-items: center;
  border-radius: 1.1rem;
  color: var(--gr-plan-accent);
  background: var(--gr-plan-accent-soft);
  font-size: var(--gr-type-card-title-lg);
}

.gr-page-plan .gr-plan-priority__head .gr-section-label {
  margin-bottom: 0.3rem;
  color: var(--gr-plan-accent);
  font-size: 0.72rem;
}

.gr-page-plan .gr-plan-priority h3 {
  margin: 0;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-card-title-lg);
  line-height: 1.05;
}

.gr-page-plan .gr-plan-priority__body {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #42516d;
  font-size: 0.97rem;
  line-height: 1.62;
}

.gr-page-plan .gr-plan-priority ul {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.72rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gr-page-plan .gr-plan-priority li {
  position: relative;
  padding-left: 1.35rem;
  color: #42516d;
  line-height: 1.56;
}

.gr-page-plan .gr-plan-priority li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 0.48rem;
  height: 0.48rem;
  border-radius: 50%;
  background: var(--gr-plan-accent);
  box-shadow: 0 0 0 4px var(--gr-plan-accent-soft);
}

/* ==========================================================================
   04. MÉTODO DE TRABALHO
   ========================================================================== */

.gr-page-plan .gr-plan-method-band {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 7vw, 6.5rem) 0;
  color: var(--gr-white);
  background:
    radial-gradient(circle at 86% 15%, rgba(242, 213, 28, 0.18), transparent 16rem),
    radial-gradient(circle at 12% 90%, rgba(24, 189, 229, 0.2), transparent 23rem),
    linear-gradient(125deg, var(--gr-blue-950), var(--gr-blue-800) 58%, var(--gr-green-700));
}

.gr-page-plan .gr-plan-method-band::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 44px 44px;
}

.gr-page-plan .gr-plan-method-band > .gr-container--wide {
  position: relative;
  z-index: 1;
}

.gr-page-plan .gr-plan-method-band .gr-section-heading {
  max-width: 52rem;
}

.gr-page-plan .gr-plan-method-band .gr-section-label {
  color: var(--gr-yellow-300);
}

.gr-page-plan .gr-plan-method-band .gr-title,
.gr-page-plan .gr-plan-method-band .gr-section-heading p {
  color: var(--gr-white);
}

.gr-page-plan .gr-plan-method {
  counter-reset: plan-step;
  display: grid;
  grid-template-columns: repeat(var(--gr-plan-method-count, 6), minmax(0, 1fr));
  gap: 0;
}

.gr-page-plan .gr-plan-method__item {
  counter-increment: plan-step;
  position: relative;
  min-width: 0;
  padding: 3.7rem 1rem 0;
  text-align: center;
}

.gr-page-plan .gr-plan-method__item::before {
  content: counter(plan-step, decimal-leading-zero);
  position: absolute;
  z-index: 2;
  top: 0;
  left: 50%;
  width: 2.9rem;
  height: 2.9rem;
  display: grid;
  place-items: center;
  transform: translateX(-50%);
  border: 0.32rem solid rgba(4, 27, 77, 0.82);
  border-radius: 50%;
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
  font-family: var(--gr-font-display);
  font-size: 0.86rem;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25);
}

.gr-page-plan .gr-plan-method__item::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 1.42rem;
  left: 0;
  width: 100%;
  height: 2px;
  background: rgba(255, 255, 255, 0.22);
}

.gr-page-plan .gr-plan-method__item:first-child::after {
  left: 50%;
  width: 50%;
}

.gr-page-plan .gr-plan-method__item:last-child::after {
  width: 50%;
}

.gr-page-plan .gr-plan-method__item h3 {
  margin: 0 0 0.45rem;
  color: var(--gr-white);
  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-card-title);
}

.gr-page-plan .gr-plan-method__item p {
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.86rem;
  line-height: 1.48;
}

/* ==========================================================================
   05. FRENTES PARLAMENTARES
   ========================================================================== */

.gr-page-plan .gr-plan-fronts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.gr-page-plan .gr-plan-front {
  position: relative;
  display: grid;
  align-content: start;
  gap: 0.65rem;
  min-width: 0;
  min-height: 13.5rem;
  padding: 1.5rem;
  overflow: hidden;
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-md);
  background: var(--gr-white);
  box-shadow: var(--gr-shadow-sm);
  transition:
    transform var(--gr-transition),
    box-shadow var(--gr-transition),
    border-color var(--gr-transition);
}

.gr-page-plan .gr-plan-front::after {
  content: "";
  position: absolute;
  right: -2.5rem;
  bottom: -2.5rem;
  width: 6.5rem;
  height: 6.5rem;
  border-radius: 50%;
  background: rgba(24, 189, 229, 0.07);
  transition: transform var(--gr-transition);
}

.gr-page-plan .gr-plan-front:hover {
  transform: translateY(-4px);
  border-color: rgba(12, 69, 155, 0.24);
  box-shadow: var(--gr-shadow-md);
}

.gr-page-plan .gr-plan-front:hover::after {
  transform: scale(1.2);
}

.gr-page-plan .gr-plan-front > i {
  position: relative;
  z-index: 1;
  width: 3.1rem;
  height: 3.1rem;
  display: grid;
  place-items: center;
  border-radius: 1rem;
  color: var(--gr-white);
  background: linear-gradient(145deg, var(--gr-blue-800), var(--gr-cyan-500));
  box-shadow: 0 12px 25px rgba(12, 69, 155, 0.18);
  font-size: 1.35rem;
}

.gr-page-plan .gr-plan-front h3 {
  position: relative;
  z-index: 1;
  margin: 0.2rem 0 0;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-card-title);
  line-height: 1.08;
}

.gr-page-plan .gr-plan-front p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--gr-muted);
  font-size: 0.94rem;
  line-height: 1.56;
}

/* ==========================================================================
   06. DOWNLOAD DO PLANO
   ========================================================================== */

.gr-page-plan .gr-plan-download {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: center;
  padding: clamp(1.7rem, 4vw, 3rem);
  overflow: hidden;
  border-radius: var(--gr-radius-lg);
  color: var(--gr-white);
  background:
    radial-gradient(circle at 92% 8%, rgba(242, 213, 28, 0.18), transparent 16rem),
    linear-gradient(130deg, var(--gr-blue-950), var(--gr-blue-800) 65%, var(--gr-green-700));
  box-shadow: var(--gr-shadow-lg);
}

.gr-page-plan .gr-plan-download::before {
  content: "\F63E";
  position: absolute;
  right: 8%;
  bottom: -2.4rem;
  color: rgba(255, 255, 255, 0.06);
  font-family: "bootstrap-icons";
  font-size: 12rem;
  line-height: 1;
  pointer-events: none;
}

.gr-page-plan .gr-plan-download > * {
  position: relative;
  z-index: 1;
}

.gr-page-plan .gr-plan-download .gr-section-label {
  color: var(--gr-yellow-300);
}

.gr-page-plan .gr-plan-download h2 {
  margin: 0.45rem 0 0.7rem;
  color: var(--gr-white);
  font-family: var(--gr-font-display);
  font-size: var(--gr-type-section-lg);
  line-height: 0.98;
  letter-spacing: -0.02em;
}

.gr-page-plan .gr-plan-download p {
  max-width: 48rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1rem;
  line-height: 1.58;
}

.gr-page-plan .gr-plan-download__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.15rem;
}

.gr-page-plan .gr-plan-download__meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 2.25rem;
  padding: 0.42rem 0.72rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.07);
  font-family: var(--gr-font-badge);
  font-size: 0.77rem;
}

.gr-page-plan .gr-plan-download .gr-btn--light {
  min-width: 13.5rem;
  flex: 0 0 auto;
}

/* ==========================================================================
   07. FECHAMENTO
   ========================================================================== */

.gr-page-plan .gr-closing__inner > div:first-child {
  max-width: 48rem;
}

.gr-page-plan .gr-closing .gr-section-label {
  color: var(--gr-yellow-300);
}

.gr-page-plan .gr-closing h2 {
  margin: 0.55rem 0 0;
  color: var(--gr-white);
  font-family: var(--gr-font-display);
  font-size: var(--gr-type-section-lg);
  line-height: 1;
  letter-spacing: -0.02em;
}

.gr-page-plan .gr-closing__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.75rem;
  flex: 0 0 auto;
}

.gr-bg-white {
  background: var(--gr-white);
}


/* ==========================================================================
   PÁGINA NOTÍCIAS — ARQUIVO EDITORIAL
   Usa a linguagem visual do bloco de notícias da Home.
   Colar no final de assets/css/pages/internal.css
   ========================================================================== */

.gr-page-news .gr-news-archive__head {
  margin-bottom: 1.35rem;
}

.gr-page-news .gr-news-archive__head .gr-title,
.gr-page-news .gr-news-archive__head .gr-lead {
  margin-left: 0;
}

.gr-page-news .gr-news-archive__head .gr-lead {
  max-width: 45rem;
  margin-top: 0.55rem;
}

.gr-page-news .gr-news-archive__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.gr-page-news .gr-latest-news__item {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-md);
  background: var(--gr-white);
  box-shadow: var(--gr-shadow-sm);
  transition:
    transform var(--gr-transition),
    border-color var(--gr-transition),
    box-shadow var(--gr-transition);
}

.gr-page-news .gr-latest-news__item:hover,
.gr-page-single-news .gr-latest-news__item:hover {
  border-color: rgba(12, 69, 155, 0.24);
  box-shadow: var(--gr-shadow-md);
  transform: translateY(-4px);
}

.gr-page-news .gr-latest-news__item > a {
  display: grid;
  grid-template-rows: 11.5rem minmax(0, 1fr);
  height: 100%;
  color: inherit;
}

.gr-page-news .gr-latest-news__item-media {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: var(--gr-surface-2);
}

.gr-page-news .gr-latest-news__item-media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 35%;
  background: linear-gradient(180deg, transparent, rgba(4, 27, 77, 0.18));
  pointer-events: none;
}

.gr-page-news .gr-latest-news__item-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 420ms ease;
}

.gr-page-news .gr-latest-news__item:hover .gr-latest-news__item-media img,
.gr-page-single-news .gr-latest-news__item:hover .gr-latest-news__item-media img {
  transform: scale(1.035);
}

.gr-page-news .gr-latest-news__item-content {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1rem 1rem 0.95rem;
}

.gr-page-news .gr-latest-news__item-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.32rem 0.55rem;
  color: var(--gr-muted);
  font-family: var(--gr-font-light);
  font-size: 0.73rem;
  line-height: 1.2;
}

.gr-page-news .gr-latest-news__item-meta > * {
  display: inline-flex;
  align-items: center;
  gap: 0.28rem;
}

.gr-page-news .gr-latest-news__item-meta > * + *::before {
  content: "•";
  margin-right: 0.15rem;
  color: var(--gr-yellow-500);
}

.gr-page-news .gr-latest-news__item-meta span:first-child {
  color: var(--gr-blue-800);
  font-family: var(--gr-font-badge);
  font-weight: 700;
  text-transform: uppercase;
}

.gr-page-news .gr-latest-news__item h2 {
  margin: 0.62rem 0 0;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-card-title);
  line-height: 1.06;
  letter-spacing: -0.015em;
}

.gr-page-news .gr-latest-news__item p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0.62rem 0 0;
  color: var(--gr-muted);
  font-family: var(--gr-font-light);
  font-size: 0.88rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.gr-page-news .gr-news-archive__card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  margin-top: auto;
  padding-top: 0.9rem;
  color: var(--gr-muted);
  font-size: 0.76rem;
}

.gr-page-news .gr-news-archive__card-footer > span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
}

.gr-page-news .gr-news-archive__card-footer > span:first-child i {
  color: var(--gr-blue-700);
}

.gr-page-news .gr-latest-news__item-link {
  flex: 0 0 auto;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--gr-blue-800);
  background: var(--gr-surface-2);
  transition:
    color 220ms ease,
    background-color 220ms ease,
    transform 220ms ease;
}

.gr-page-news .gr-latest-news__item:hover .gr-latest-news__item-link,
.gr-page-single-news .gr-latest-news__item:hover .gr-latest-news__item-link {
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
  transform: rotate(4deg);
}

.gr-page-news .gr-latest-news__item > a:focus-visible {
  outline: 3px solid rgba(24, 189, 229, 0.38);
  outline-offset: -3px;
}

/* ==========================================================================
   SINGLE NOTÍCIA — ESTRUTURA EDITORIAL CONSOLIDADA
   ========================================================================== */

.gr-page-single-news .gr-news-article {
  overflow: hidden;
  border: 1px solid var(--gr-border, rgba(12, 69, 155, 0.12));
  border-radius: var(--gr-radius-lg, 1.25rem);
  background: var(--gr-white, #fff);
  box-shadow: var(--gr-shadow-sm, 0 14px 36px rgba(4, 27, 77, 0.08));
}

.gr-page-single-news .gr-news-article__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.15rem 1.35rem;
  border-bottom: 1px solid var(--gr-border, rgba(12, 69, 155, 0.12));
}

.gr-page-single-news .gr-news-article__author,
.gr-page-single-news .gr-news-article__details,
.gr-page-single-news .gr-news-article__details > * {
  display: flex;
  align-items: center;
}

.gr-page-single-news .gr-news-article__author {
  gap: 0.72rem;
}

.gr-page-single-news .gr-news-article__author-avatar {
  width: 2.65rem;
  height: 2.65rem;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--gr-white, #fff);
  background: var(--gr-blue-800, #0c459b);
  font-family: var(--gr-font-badge);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.gr-page-single-news .gr-news-article__author div:last-child {
  display: grid;
  gap: 0.12rem;
}

.gr-page-single-news .gr-news-article__author strong {
  color: var(--gr-blue-950, #041b4d);
  font-size: 0.95rem;
}

.gr-page-single-news .gr-news-article__author span {
  color: var(--gr-muted, #667085);
  font-size: 0.82rem;
}

.gr-page-single-news .gr-news-article__details {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.55rem 1rem;
  color: var(--gr-muted, #667085);
  font-size: 0.85rem;
}

.gr-page-single-news .gr-news-article__details > * {
  gap: 0.4rem;
  color: inherit;
}

.gr-page-single-news .gr-news-article__details i {
  color: var(--gr-blue-700, #1557b0);
  font-size: 0.95rem;
}

.gr-page-single-news .gr-news-article__featured {
  margin: 0;
  padding: 1.35rem 1.35rem 0;
}

.gr-page-single-news .gr-news-article__featured img {
  display: block;
  width: 100%;
  max-height: 35rem;
  padding: 0;
  object-fit: cover;
  border-radius:
    var(--gr-radius-md, 0.85rem)
    var(--gr-radius-md, 0.85rem)
    0
    0;
}

.gr-page-single-news .gr-news-article__featured figcaption {
  margin: 0;
  padding: 0.72rem 1.1rem;
  color: var(--gr-muted, #667085);
  background: var(--gr-surface-2, #f5f7fa);
  font-size: 0.86rem;
  line-height: 1.35;
  border-radius:
    0
    0
    var(--gr-radius-md, 0.85rem)
    var(--gr-radius-md, 0.85rem);
}

.gr-page-single-news .gr-news-article__content {
  padding: 1rem 1.35rem 1.35rem;
}

.gr-page-single-news .gr-news-article__content > * {
  width: 100%;
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
}

.gr-page-single-news .gr-news-article__content p {
  color: var(--gr-text, #344054);
  font-size: 1.06rem;
  line-height: 1.52;
}

.gr-page-single-news .gr-news-article__lead {
  margin-top: 0;
  color: var(--gr-blue-950, #041b4d) !important;
  font-size: clamp(1.12rem, 1.5vw, 1.24rem) !important;
  font-weight: 600;
  line-height: 1.4 !important;
}

.gr-page-single-news .gr-news-article__content h2 {
  margin-top: 1.75rem;
  margin-bottom: 0.75rem;
  color: var(--gr-blue-950, #041b4d);
  font-size: var(--gr-type-section-sm);
  line-height: 1.12;
}

/* Quote no padrão editorial do site: fundo amarelo suave e aspa livre. */
.gr-page-single-news .gr-news-article__content .gr-quote {
  position: relative;
  margin: 1.5rem 0;
  padding: 1.35rem 1.4rem 1.25rem 4.25rem;
  overflow: visible;
  border: 1px solid rgba(242, 213, 28, 0.55);
  border-left: 0.35rem solid var(--gr-yellow-500);
  border-radius: var(--gr-radius-md);
  color: var(--gr-blue-950, #041b4d);
  background: #fff8db;
  font-family: var(--gr-font-quote);
  font-style: italic;
  font-weight: 700;
}

.gr-page-single-news .gr-news-article__content .gr-quote::before {
  content: "\F6B0";
  position: absolute;
  top: 1.05rem;
  left: 1.1rem;
  display: grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: var(--gr-blue-800, #0c459b);
  background: var(--gr-white);
  font-family: "bootstrap-icons";
  font-size: 1.05rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  transform: none;
}

.gr-page-single-news .gr-news-article__content .gr-quote::after {
  display: none;
  content: none;
}

.gr-page-single-news .gr-news-article__content .gr-quote p {
  margin: 0;
  color: var(--gr-blue-950, #041b4d);
  font-family: var(--gr-font-quote);
  font-size: clamp(1.12rem, 1.5vw, 1.24rem);
  font-style: italic;
  font-weight: 700;
  line-height: 1.34;
}

.gr-page-single-news .gr-news-article__content .gr-quote cite {
  display: block;
  margin-top: 0.65rem;
  color: var(--gr-blue-800, #0c459b);
  font-family: var(--gr-font-body);
  font-size: 0.92rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1.25;
}

/* Box informativo */
.gr-page-single-news .gr-news-article__highlight {
  display: grid;
  grid-template-columns: 1.35rem minmax(0, 1fr);
  align-items: start;
  gap: 0.85rem;
  margin: 1.35rem 0 0;
  padding: 1.1rem 1.2rem;
  border: 1px solid rgba(12, 69, 155, 0.14);
  border-radius: var(--gr-radius-md, 0.85rem);
  background: rgba(21, 87, 176, 0.05);
}

.gr-page-single-news .gr-news-article__highlight > i {
  margin-top: 0.08rem;
  color: var(--gr-blue-700, #1557b0);
  font-size: 1.25rem;
  line-height: 1;
}

.gr-page-single-news .gr-news-article__highlight strong {
  display: block;
  color: var(--gr-blue-950, #041b4d);
  font-size: var(--gr-type-card-title);
  font-weight: 700;
  line-height: 1.18;
}

.gr-page-single-news .gr-news-article__highlight p {
  margin: 0.3rem 0 0;
  color: var(--gr-text, #344054);
  font-size: 1rem;
  line-height: 1.38;
}

.gr-page-single-news .gr-news-article__content .gr-gallery {
  width: 100%;
  max-width: none;
  margin-top: 1rem;
  margin-right: 0;
  margin-left: 0;
}

.gr-page-single-news .gr-news-article__content .gr-caption {
  width: 100%;
  max-width: none;
  margin-right: 0;
  margin-left: 0;
}

.gr-page-single-news .gr-news-article__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.35rem 1.2rem;
  border-top: 1px solid var(--gr-border, rgba(12, 69, 155, 0.12));
  background: transparent;
}

.gr-page-single-news .gr-news-article__footer .gr-tags,
.gr-page-single-news .gr-news-article__footer .gr-share {
  margin: 0;
}

/* Remove apenas as linhas internas do bloco Compartilhe. */
.gr-page-single-news .gr-news-article__footer .gr-share {
  padding-top: 0;
  padding-bottom: 0;
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
  box-shadow: none;
  background: transparent;
}

.gr-page-single-news .gr-news-article__footer .gr-tags > .gr-chip {
  display: none;
}

/* Comentários */
:is(.gr-page-single-news, .gr-page-single-action) .gr-comments {
  margin-top: 1.5rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comments__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comments__header p {
  max-width: 42rem;
  margin: 0.45rem 0 0;
  color: var(--gr-muted, #667085);
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comments__count {
  flex: 0 0 auto;
  padding: 0.45rem 0.7rem;
  border-radius: 999px;
  color: var(--gr-blue-800, #0c459b);
  background: rgba(21, 87, 176, 0.08);
  font-size: 0.76rem;
  font-weight: 700;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment {
  border: 1px solid var(--gr-border, rgba(12, 69, 155, 0.12));
  border-radius: var(--gr-radius-lg, 1.25rem);
  background: var(--gr-white, #fff);
  box-shadow: var(--gr-shadow-sm, 0 14px 36px rgba(4, 27, 77, 0.06));
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment > article {
  display: grid;
  grid-template-columns: 3.4rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.2rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment__avatar {
  width: 3.4rem;
  height: 3.4rem;
  object-fit: cover;
  border: 3px solid var(--gr-white, #fff);
  border-radius: 50%;
  box-shadow: 0 0 0 1px var(--gr-border, rgba(12, 69, 155, 0.12));
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment__content {
  min-width: 0;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment__meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.8rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment__meta div {
  display: grid;
  gap: 0.1rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment__meta strong {
  color: var(--gr-blue-950, #041b4d);
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment__meta span,
:is(.gr-page-single-news, .gr-page-single-action) .gr-comment__meta time {
  color: var(--gr-muted, #667085);
  font-size: 0.74rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment__content p {
  margin: 0.7rem 0 0;
  color: var(--gr-text, #344054);
  line-height: 1.5;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment__reply {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 0.8rem;
  padding: 0;
  border: 0;
  color: var(--gr-blue-700, #1557b0);
  background: transparent;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form-card {
  margin-top: 1rem;
  padding: clamp(1.15rem, 2.5vw, 1.65rem);
  border: 1px solid var(--gr-border, rgba(12, 69, 155, 0.12));
  border-radius: var(--gr-radius-lg, 1.25rem);
  background: var(--gr-white, #fff);
  box-shadow: var(--gr-shadow-sm, 0 14px 36px rgba(4, 27, 77, 0.06));
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form-card__intro {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-bottom: 1.2rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form-card__avatar {
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--gr-blue-800, #0c459b);
  background: rgba(21, 87, 176, 0.08);
  font-size: 1.15rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form-card h3 {
  margin: 0;
  color: var(--gr-blue-950, #041b4d);
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form-card__intro p {
  margin: 0.25rem 0 0;
  color: var(--gr-muted, #667085);
  font-size: 0.82rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form .gr-field {
  display: grid;
  gap: 0.42rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form .gr-field + .gr-field,
:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form__grid + .gr-field {
  margin-top: 1rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form label {
  color: var(--gr-blue-950, #041b4d);
  font-size: 0.82rem;
  font-weight: 700;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form input[type="text"],
:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form input[type="email"],
:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form textarea {
  width: 100%;
  padding: 0.82rem 0.9rem;
  border: 1px solid var(--gr-border, rgba(12, 69, 155, 0.18));
  border-radius: var(--gr-radius-sm, 0.65rem);
  color: var(--gr-text, #344054);
  background: var(--gr-white, #fff);
  font: inherit;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form textarea {
  min-height: 8rem;
  resize: vertical;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form input:focus,
:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form textarea:focus {
  outline: 3px solid rgba(24, 189, 229, 0.18);
  border-color: var(--gr-blue-700, #1557b0);
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form small {
  color: var(--gr-muted, #667085);
  font-size: 0.72rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form__honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin-top: 1rem;
  color: var(--gr-muted, #667085) !important;
  font-weight: 400 !important;
  line-height: 1.5;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form__consent input {
  margin-top: 0.2rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1.1rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form__actions > span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--gr-muted, #667085);
  font-size: 0.72rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment-form__actions > span i {
  color: var(--gr-green-600, #15803d);
}


:is(.gr-page-single-news, .gr-page-single-action) .focaweb-comments-empty {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 1.1rem 1.2rem;
  border: 1px dashed var(--gr-border, rgba(12, 69, 155, 0.18));
  border-radius: var(--gr-radius-lg, 1.25rem);
  color: var(--gr-muted, #667085);
  background: rgba(21, 87, 176, 0.025);
}

:is(.gr-page-single-news, .gr-page-single-action) .focaweb-comments-empty > i {
  display: grid;
  width: 2.7rem;
  height: 2.7rem;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  color: var(--gr-blue-800, #0c459b);
  background: rgba(21, 87, 176, 0.08);
  font-size: 1.05rem;
}

:is(.gr-page-single-news, .gr-page-single-action) .focaweb-comments-empty strong {
  color: var(--gr-blue-950, #041b4d);
}

:is(.gr-page-single-news, .gr-page-single-action) .focaweb-comments-empty p {
  margin: 0.2rem 0 0;
}

:is(.gr-page-single-news, .gr-page-single-action) .gr-comment + .gr-comment {
  margin-top: 0.8rem;
}

/* Conteúdos relacionados */
.gr-page-single-news .gr-single-related__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.gr-page-single-news .gr-single-related .gr-latest-news__item {
  overflow: hidden;
  border: 1px solid var(--gr-border, rgba(12, 69, 155, 0.12));
  border-radius: var(--gr-radius-md, 0.85rem);
  background: var(--gr-white, #fff);
  box-shadow: var(--gr-shadow-sm, 0 14px 36px rgba(4, 27, 77, 0.06));
}

.gr-page-single-news .gr-single-related .gr-latest-news__item > a {
  display: grid;
  grid-template-rows: 10.5rem minmax(0, 1fr);
  height: 100%;
  color: inherit;
}

.gr-page-single-news .gr-single-related .gr-latest-news__item-media {
  overflow: hidden;
}

.gr-page-single-news .gr-single-related .gr-latest-news__item-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gr-page-single-news .gr-single-related .gr-latest-news__item-content {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0.95rem;
}

.gr-page-single-news .gr-single-related .gr-latest-news__item-meta {
  display: flex;
  gap: 0.6rem;
  color: var(--gr-muted, #667085);
  font-size: 0.7rem;
}

.gr-page-single-news .gr-single-related .gr-latest-news__item-meta span {
  color: var(--gr-blue-800, #0c459b);
  font-weight: 700;
  text-transform: uppercase;
}

.gr-page-single-news .gr-single-related .gr-latest-news__item h2 {
  margin: 0.55rem 2.4rem 0 0;
  color: var(--gr-blue-950, #041b4d);
  font-size: var(--gr-type-card-title);
  line-height: 1.1;
}

.gr-page-single-news .gr-single-related .gr-latest-news__item p {
  margin: 0.55rem 0 0;
  color: var(--gr-muted, #667085);
  font-size: 0.82rem;
  line-height: 1.45;
}

.gr-page-single-news .gr-single-related .gr-latest-news__item-link {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  width: 1.9rem;
  height: 1.9rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--gr-blue-800, #0c459b);
  background: var(--gr-surface-2, #f5f7fa);
}

/* ==========================================================================
   CONTATO — CARDS, REDES SOCIAIS E FORMULÁRIO
   ========================================================================== */

.gr-page-contact .gr-contact-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.gr-page-contact .gr-contact-form-heading {
  margin-top: clamp(3.5rem, 6vw, 5.5rem);
}

.gr-page-contact .gr-contact-card p {
  margin: 0 0 1rem;
  color: var(--gr-muted);
  line-height: 1.5;
}

.gr-page-contact .gr-contact-card .gr-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  align-self: flex-start;
  margin-top: auto;
}

.gr-page-contact .gr-contact-card .gr-link-arrow i {
  width: auto;
  height: auto;
  display: inline-block;
  border: 0;
  border-radius: 0;
  color: currentColor;
  background: transparent;
  font-size: 0.9rem;
}

.gr-page-contact .gr-contact-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: auto;
}

.gr-page-contact .gr-contact-socials a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.55rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(12, 69, 155, 0.14);
  border-radius: 999px;
  color: var(--gr-blue-800);
  background: var(--gr-surface-2);
  font-family: var(--gr-font-badge);
  font-size: 0.78rem;
  font-weight: 700;
  transition:
    color var(--gr-transition),
    border-color var(--gr-transition),
    background-color var(--gr-transition),
    transform var(--gr-transition);
}

.gr-page-contact .gr-contact-socials a:hover {
  transform: translateY(-2px);
  border-color: var(--gr-blue-700);
  color: var(--gr-white);
  background: var(--gr-blue-800);
}

.gr-page-contact .gr-contact-socials a i {
  width: auto;
  height: auto;
  display: inline-block;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  font-size: 1rem;
}

.gr-page-contact .gr-contact-form {
  margin-top: 1.5rem;
}





/* ==========================================================================
   PÁGINA ATUAÇÃO — ACORDEÃO TERRITORIAL DE ENTREGAS
   Destino: assets/css/pages/internal.css

   SUBSTITUIR:
   remova integralmente o bloco antigo:
   "PÁGINA ATUAÇÃO — HERO COM ACORDEÃO DE BANDEIRAS"

   Este bloco NÃO altera header, footer, hero ou sidebar global.
   ========================================================================== */

.gr-page-actions .gr-city-flag-accordion {
    display: grid;
    gap: 1rem;
}

.gr-page-actions .gr-city-flag-accordion__item {
    overflow: hidden;
    margin: 0;
    border: 1px solid rgba(18, 59, 112, 0.12);
    border-radius: 1.5rem;
    background: #ffffff;
    box-shadow: 0 1rem 2.6rem rgba(15, 45, 88, 0.07);
    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms ease;
}

.gr-page-actions .gr-city-flag-accordion__item:hover {
    border-color: rgba(15, 98, 205, 0.22);
}

.gr-page-actions .gr-city-flag-accordion__item.is-open {
    border-color: rgba(15, 98, 205, 0.30);
    box-shadow: 0 1.15rem 3rem rgba(15, 66, 132, 0.10);
}

.gr-page-actions .gr-city-flag-accordion__button {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    gap: 1.1rem;
    align-items: center;
    width: 100%;
    min-height: 7.25rem;
    padding: 1.25rem 1.45rem;
    border: 0;
    background: transparent;
    color: var(--gr-color-dark, #0b2858);
    text-align: left;
    cursor: pointer;
}

.gr-page-actions .gr-city-flag-accordion__button:focus-visible {
    outline: 3px solid var(--gr-color-yellow, #ffd900);
    outline-offset: -3px;
}

.gr-page-actions .gr-city-flag-accordion__icon {
    display: grid;
    flex: 0 0 auto;
    width: 4rem;
    height: 4rem;
    place-items: center;
    border-radius: 1.15rem;
    background: var(--gr-color-yellow, #ffd900);
    color: var(--gr-color-dark, #0b2858);
    font-size: 1.5rem;
    box-shadow: 0 0.75rem 1.8rem rgba(255, 205, 0, 0.18);
}

.gr-page-actions .gr-city-flag-accordion__heading {
    display: grid;
    gap: 0.28rem;
    min-width: 0;
}

.gr-page-actions .gr-city-flag-accordion__heading strong {
    color: var(--gr-color-dark, #0b2858);
    font-size: var(--gr-type-card-title-lg);
    line-height: 1.12;
}

.gr-page-actions .gr-city-flag-accordion__heading small {
    color: var(--gr-color-text-soft, #5f7191);
    font-size: 0.98rem;
    line-height: 1.45;
}

.gr-page-actions .gr-city-flag-accordion__count {
    min-width: 5.5rem;
    color: #0c67ca;
    font-size: 0.78rem;
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
}

.gr-page-actions .gr-city-flag-accordion__toggle {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border: 1px solid rgba(17, 71, 139, 0.15);
    border-radius: 50%;
    background: #f5f9ff;
    color: #0c67ca;
    font-size: 1.1rem;
    transition:
        transform 220ms ease,
        background-color 220ms ease,
        color 220ms ease,
        border-color 220ms ease;
}

.gr-page-actions .gr-city-flag-accordion__item.is-open
.gr-city-flag-accordion__toggle {
    transform: rotate(45deg);
    border-color: #0c67ca;
    background: #0c67ca;
    color: #ffffff;
}

.gr-page-actions .gr-city-flag-accordion__content {
    color: inherit;
}

.gr-page-actions .gr-city-flag-accordion__content-inner {
    display: grid;
    gap: 0;
    padding: 0 1.45rem 1.4rem;
    border-top: 1px solid rgba(18, 59, 112, 0.10);
}

.gr-page-actions .gr-city-flag-accordion__delivery {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1.1rem;
    align-items: center;
    padding: 1.35rem 0;
    border-bottom: 1px solid rgba(18, 59, 112, 0.09);
}

.gr-page-actions .gr-city-flag-accordion__delivery:last-of-type {
    border-bottom: 0;
}

.gr-page-actions .gr-city-flag-accordion__delivery .gr-delivery-icon {
    display: grid;
    width: 3.65rem;
    height: 3.65rem;
    place-items: center;
    border-radius: 1rem;
    background: #edf5ff;
    color: #0c67ca;
    font-size: 1.35rem;
}

.gr-page-actions .gr-city-flag-accordion__delivery-copy {
    min-width: 0;
}

.gr-page-actions .gr-city-flag-accordion__delivery-copy .gr-badge {
    display: inline-flex;
    align-items: center;
    min-height: 1.9rem;
    margin-bottom: 0.55rem;
    padding: 0.28rem 0.75rem;
    border-radius: 999px;
    background: var(--gr-color-yellow, #ffd900);
    color: var(--gr-color-dark, #0b2858);
    font-size: 0.72rem;
    font-weight: 800;
}

.gr-page-actions .gr-city-flag-accordion__delivery-copy h3 {
    margin: 0 0 0.35rem;
    color: var(--gr-color-dark, #0b2858);
    font-size: var(--gr-type-card-title);
    line-height: 1.3;
}

.gr-page-actions .gr-city-flag-accordion__delivery-copy p {
    margin: 0;
    color: var(--gr-color-text-soft, #5f7191);
    font-size: 0.94rem;
    line-height: 1.52;
}

.gr-page-actions .gr-city-flag-accordion__delivery-copy small {
    display: inline-flex;
    gap: 0.35rem;
    align-items: center;
    margin-top: 0.55rem;
    color: #05944f;
    font-size: 0.76rem;
    font-weight: 700;
}

.gr-page-actions .gr-city-flag-accordion__delivery > .gr-link-arrow {
    display: inline-flex;
    gap: 0.6rem;
    align-items: center;
    color: #0c67ca;
    font-size: 0.88rem;
    font-weight: 800;
    white-space: nowrap;
}

.gr-page-actions .gr-city-flag-accordion__delivery > .gr-link-arrow:hover,
.gr-page-actions .gr-city-flag-accordion__delivery > .gr-link-arrow:focus-visible {
    color: var(--gr-color-dark, #0b2858);
}

.gr-page-actions .gr-city-flag-accordion__area-link {
    display: inline-flex;
    gap: 0.55rem;
    align-items: center;
    justify-self: end;
    margin-top: 1rem;
    padding: 0.72rem 1rem;
    border-radius: 999px;
    background: #eef5ff;
    color: #0c67ca;
    font-size: 0.82rem;
    font-weight: 800;
    transition:
        background-color 180ms ease,
        color 180ms ease,
        transform 180ms ease;
}

.gr-page-actions .gr-city-flag-accordion__area-link:hover,
.gr-page-actions .gr-city-flag-accordion__area-link:focus-visible {
    transform: translateY(-2px);
    background: #0c67ca;
    color: #ffffff;
}

/* Os quatro destaques superiores agora são links, não filtros. */
.gr-page-actions .gr-flag-card__trigger {
    text-decoration: none;
}

/* Materiais são estaduais: o card não recebe nome da cidade. */
.gr-page-actions .gr-sidebar-card--download h3 {
    max-width: 16rem;
}




/* =========================================================
   PÁGINA ATUAÇÃO — CONTEXTO, LEGADO E INDICADORES
   ========================================================= */

.gr-page-actions .gr-local-legacy {
    display: grid;

    /* Mais espaço para o texto e espaço suficiente para os 3 cards */
    grid-template-columns:
        minmax(0, 1.18fr)
        minmax(540px, 0.82fr);

    align-items: center;
    gap: clamp(2rem, 3vw, 3.5rem);
}

/* Coluna esquerda */
.gr-page-actions .gr-local-legacy__intro {
    width: 100%;
    max-width: none;
}

.gr-page-actions .gr-local-legacy__intro .gr-title {
    width: 100%;
    max-width: none;
    margin: 0;
    font-size: var(--gr-type-section-md);
    line-height: 1;
}

/* Texto abaixo do título */
.gr-page-actions .gr-local-legacy__intro > p {
    max-width: 720px;
    margin-top: 1.5rem;
}

/* Grade dos indicadores */
.gr-page-actions .gr-impact-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    align-items: center;
    align-self: center;
    gap: 1rem;
}

/* Cards brancos */
.gr-page-actions .gr-impact-grid article {
    display: flex;
    flex-direction: column;
    justify-content: center;

    width: 100%;
    height: 180px;
    min-height: 180px;
    padding: 1.4rem;

    align-self: center;
}

/* Número */
.gr-page-actions .gr-impact-grid article strong {
    display: block;
    margin: 0 0 0.75rem;
    line-height: 1;
}

/* Legenda */
.gr-page-actions .gr-impact-grid article span {
    display: block;
    min-height: 0;
    line-height: 1.35;
}

/* ==========================================================================
   PÁGINA AGENDA — REGRAS EXCLUSIVAS
   Origem consolidada: antigo assets/css/pages/agenda.css
   Responsabilidade: estrutura e aparência da página Agenda.
   Responsividade permanece em assets/css/responsive/site.css.
   ========================================================================== */

/* ==========================================================================
   AGENDA — AJUSTES ESPECÍFICOS DA PÁGINA
   ========================================================================== */


/* ==========================================================================
   PRÓXIMO COMPROMISSO
   Sem botão lateral; conteúdo ocupa naturalmente o bloco.
   ========================================================================== */

.gr-page-agenda .gr-next-event--soft {
  grid-template-columns: 7rem minmax(0, 1fr);
}

.gr-page-agenda
.gr-next-event--soft
.gr-section-label.gr-section-label--light {
  color: var(--gr-white);
}


/* ==========================================================================
   LISTA DE COMPROMISSOS — 3 CARDS POR LINHA
   ========================================================================== */

.gr-page-agenda .gr-agenda-list--cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.gr-page-agenda .gr-agenda-list--cards article {
  display: grid;
  grid-template-columns: 4.8rem minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  align-items: start;
  gap: 1rem;

  min-width: 0;
  height: 100%;
  padding: 1.2rem;

  border: 1px solid var(--gr-border);
  border-radius: var(--gr-radius-md);

  background: var(--gr-white);
  box-shadow: var(--gr-shadow-sm);
}

.gr-page-agenda .gr-agenda-list--cards time {
  grid-row: 1 / span 2;
  display: grid;
  width: 4.8rem;
  min-height: 5.4rem;
  place-items: center;
  padding: 0.7rem;
  border-radius: 0.8rem;
  color: var(--gr-blue-950);
  background: #eef5ff;
}

.gr-page-agenda .gr-agenda-list--cards time strong {
  font-size: 1.9rem;
}

.gr-page-agenda .gr-agenda-list--cards article > div {
  min-width: 0;
}

.gr-page-agenda .gr-agenda-list--cards h3 {
  margin: 0.7rem 0 0.55rem;

  color: var(--gr-blue-950);

  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-card-title);
  line-height: 1.08;
}

.gr-page-agenda .gr-agenda-list--cards p {
  margin: 0;

  color: var(--gr-muted);

  line-height: 1.45;
}

.gr-page-agenda .gr-agenda-list--cards .gr-link-arrow {
  grid-column: 2;
  justify-self: start;
  align-self: end;

  margin-top: 0.35rem;
}


/* ==========================================================================
   SEÇÕES DA PÁGINA AGENDA
   ========================================================================== */

.gr-page-agenda .gr-agenda-current-section {
  background: var(--gr-white);
}

.gr-page-agenda .gr-route-gallery-section {
  background: var(--gr-surface-2, #f2f6fa);
}

.gr-page-agenda .gr-route-gallery-section .gr-route-history {
  margin-top: 0;
}

/* ==========================================================================
   PRIMEIRO COMPROMISSO EM DESTAQUE
   Continua dentro da mesma grade dos demais cards.
   ========================================================================== */

.gr-page-agenda
.gr-agenda-list--cards
article.gr-agenda-card--featured {
  border-color: transparent;

  color: var(--gr-white);

  background:
    linear-gradient(
      135deg,
      var(--gr-blue-950) 0%,
      var(--gr-blue-700) 100%
    );

  box-shadow:
    0 18px 38px rgba(4, 27, 77, 0.2);
}


/* Data amarela igual ao destaque anterior. */

.gr-page-agenda
.gr-agenda-list--cards
article.gr-agenda-card--featured time {
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
}


/* Título branco. */

.gr-page-agenda
.gr-agenda-list--cards
article.gr-agenda-card--featured h3 {
  color: var(--gr-white);
}


/* Horário e localização claros. */

.gr-page-agenda
.gr-agenda-list--cards
article.gr-agenda-card--featured p {
  color: rgba(255, 255, 255, 0.82);
}

.gr-page-agenda
.gr-agenda-list--cards
article.gr-agenda-card--featured p i {
  color: var(--gr-white);
}


/* Mantém a badge amarela com texto azul. */

.gr-page-agenda
.gr-agenda-list--cards
article.gr-agenda-card--featured .gr-badge {
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
}

/* ==========================================================================
   CONSOLIDAÇÃO FINAL — AJUSTES SEMÂNTICOS DAS PÁGINAS INTERNAS
   ========================================================================== */

.gr-page-not-found .gr-not-found__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
}

.gr-page-internal .gr-page-hero__title {
    max-width: 20ch;
    margin: 0 0 1.2rem;
    color: var(--gr-white);
    font-family: var(--gr-font-display);
    font-size: var(--gr-type-hero-internal);
    font-weight: 900;
    line-height: var(--gr-leading-display);
    letter-spacing: -0.025em;
}

/* ==========================================================================
   ATUAÇÃO — ACERVO PAGINADO APÓS DESTAQUES, FAQ E SIDEBAR
   ========================================================================== */

.gr-actions-archive {
  padding: clamp(3.75rem, 7vw, 6rem) 0;
  border-top: 1px solid var(--gr-border);
  background:
    linear-gradient(180deg, rgba(238, 246, 255, 0.82), rgba(255, 255, 255, 0.96));
}

.gr-actions-archive__head {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: end;
  margin-bottom: 2rem;
}

.gr-actions-archive__head > div {
  max-width: 48rem;
}

.gr-actions-archive__head .gr-title {
  margin: 0.45rem 0 0.65rem;
}

.gr-actions-archive__head p {
  margin: 0;
  color: var(--gr-muted);
}

.gr-actions-archive__range {
  flex: 0 0 auto;
  padding: 0.7rem 0.95rem;
  border: 1px solid var(--gr-border);
  border-radius: 999px;
  color: var(--gr-blue-900);
  background: var(--gr-white);
  font-family: var(--gr-font-badge);
  font-size: 0.8rem;
  white-space: nowrap;
}

.gr-actions-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.gr-actions-archive .gr-action-card {
  min-width: 0;
  overflow: hidden;
}

.gr-actions-archive .gr-action-card > a {
  display: grid;
  grid-template-rows: 12rem minmax(0, 1fr);
  height: 100%;
  color: inherit;
}

.gr-actions-archive .gr-action-card__media {
  min-width: 0;
  min-height: 0;
  aspect-ratio: auto;
}

.gr-actions-archive .gr-action-card__media img,
.gr-actions-archive .focaweb-media-placeholder {
  width: 100%;
  height: 100%;
}

.gr-actions-archive .focaweb-media-placeholder {
  display: grid;
  place-items: center;
  color: var(--gr-yellow-500);
  background: linear-gradient(145deg, var(--gr-blue-950), var(--gr-blue-700));
  font-size: 2rem;
}

.gr-actions-archive .gr-action-card__body {
  align-content: start;
}

.gr-actions-archive .gr-action-card__body small {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  color: var(--gr-green-700);
  font-size: 0.76rem;
  font-weight: 700;
}

.gr-page-actions .gr-content-city--many {
  width: fit-content;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(24, 175, 87, 0.24);
  border-radius: 999px;
  color: var(--gr-green-800);
  background: rgba(24, 175, 87, 0.09);
  line-height: 1.15;
  cursor: help;
}

.gr-page-actions .gr-content-city--many span {
  display: inline;
}

.gr-actions-archive .gr-action-card__body p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.gr-actions-archive .gr-action-card__body h3 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.gr-actions-archive .gr-action-card__body .gr-link-arrow {
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
  align-self: end;
  margin-top: auto;
  padding-top: 0.4rem;
  color: var(--gr-blue-700);
}

@media (max-width: 900px) {
  .gr-actions-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .gr-actions-archive__head {
    align-items: start;
    flex-direction: column;
  }

  .gr-actions-archive__grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   BUSCA DINÂMICA E RESUMO ACESSÍVEL DE MUNICÍPIOS
   ========================================================================== */
.gr-content-cities {
  position: relative;
  z-index: 4;
  width: fit-content;
  color: var(--gr-blue-950);
}

.gr-page-single-news .gr-page-hero {
  z-index: 3;
  overflow: visible;
}

.gr-content-cities[open] {
  z-index: 12;
}

.gr-content-cities > summary {
  display: inline-flex;
  align-items: center;
  gap: 0.48rem;
  min-height: 2.25rem;
  padding: 0.45rem 0.78rem;
  border: 1px solid rgba(12, 69, 155, 0.18);
  border-radius: 999px;
  color: var(--gr-blue-950);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 8px 22px rgba(4, 27, 77, 0.12);
  font-family: var(--gr-font-badge);
  font-size: 0.8rem;
  font-weight: 800;
  list-style: none;
  cursor: pointer;
}

.gr-content-cities > summary::-webkit-details-marker {
  display: none;
}

.gr-content-cities > summary:hover,
.gr-content-cities > summary:focus-visible,
.gr-content-cities[open] > summary {
  border-color: rgba(24, 175, 87, 0.62);
  background: #effaf4;
}

.gr-content-cities > summary:focus-visible {
  outline: 3px solid rgba(242, 213, 28, 0.9);
  outline-offset: 3px;
}

.gr-content-cities__chevron {
  font-size: 0.7rem;
  transition: transform 180ms ease;
}

.gr-content-cities[open] .gr-content-cities__chevron {
  transform: rotate(180deg);
}

.gr-content-cities__panel {
  position: absolute;
  top: calc(100% + 0.6rem);
  left: 0;
  z-index: 2;
  width: min(42rem, calc(100vw - 2rem));
  max-height: min(18rem, 52vh);
  padding: 1rem;
  overflow-y: auto;
  border: 1px solid rgba(12, 69, 155, 0.16);
  border-radius: 1rem;
  color: var(--gr-blue-950);
  background: rgba(255, 255, 255, 0.99);
  box-shadow: 0 22px 52px rgba(4, 27, 77, 0.22);
}

.gr-content-cities__panel > strong {
  display: block;
  margin-bottom: 0.75rem;
  font-family: var(--gr-font-callout);
  font-size: 1rem;
}

.gr-content-cities__panel ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gr-content-cities__panel li {
  padding: 0.38rem 0.62rem;
  border: 1px solid rgba(12, 69, 155, 0.12);
  border-radius: 999px;
  color: var(--gr-blue-900);
  background: #f2f6fb;
  font-size: 0.78rem;
  font-weight: 700;
}

.gr-content-cities__inline {
  gap: 0.42rem;
}

.gr-search-start-state {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem 1.2rem;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid rgba(12, 69, 155, 0.14);
  border-radius: var(--gr-radius-lg);
  background:
    radial-gradient(circle at 96% 8%, rgba(24, 175, 87, 0.12), transparent 13rem),
    linear-gradient(145deg, #ffffff, #f3f7fc);
  box-shadow: var(--gr-shadow-sm);
}

.gr-search-start-state__icon {
  display: grid;
  width: 3.7rem;
  height: 3.7rem;
  place-items: center;
  border-radius: 1rem;
  color: var(--gr-blue-950);
  background: var(--gr-yellow-500);
  font-size: 1.4rem;
}

.gr-search-start-state h2 {
  margin: 0.35rem 0 0.55rem;
  color: var(--gr-blue-950);
  font-family: var(--gr-font-callout);
  font-size: var(--gr-type-section-sm);
}

.gr-search-start-state p {
  max-width: 46rem;
  margin: 0;
  color: var(--gr-muted);
}

.gr-search-form--large {
  grid-column: 1 / -1;
  display: grid;
  gap: 0.55rem;
  margin-top: 0.5rem;
}

.gr-search-form--large > label {
  color: var(--gr-blue-950);
  font-weight: 800;
}

.gr-search-form--large > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.7rem;
}

.gr-search-empty-state > i {
  display: block;
  margin-bottom: 0.75rem;
  color: var(--gr-blue-700);
  font-size: 2rem;
}

.gr-page-search .gr-latest-news__item-meta span:last-child {
  max-width: 13rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 900px) {
  .gr-content-cities {
    width: 100%;
  }

  .gr-content-cities > summary {
    width: 100%;
    justify-content: space-between;
  }

  .gr-content-cities__panel {
    position: static;
    width: 100%;
    max-height: 15rem;
    margin-top: 0.55rem;
  }
}

@media (max-width: 640px) {
  .gr-search-start-state {
    grid-template-columns: 1fr;
  }

  .gr-search-start-state__icon {
    width: 3.25rem;
    height: 3.25rem;
  }

  .gr-search-form--large {
    grid-column: auto;
  }

  .gr-search-form--large > div {
    grid-template-columns: 1fr;
  }
}

/* Agenda: badges separados para horário e local */
.gr-page-agenda .gr-agenda-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0.75rem;
}

.gr-page-agenda .gr-agenda-meta__item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.125rem;
  max-width: 100%;
  padding: 0.42rem 0.72rem;
  border: 0.0625rem solid rgba(8, 49, 105, 0.12);
  border-radius: 999rem;
  background: rgba(8, 49, 105, 0.06);
  color: var(--gr-blue-950);
  font-size: clamp(0.86rem, 0.9vw, 0.96rem);
  font-weight: 600;
  line-height: 1.2;
}

.gr-page-agenda .gr-agenda-meta__item i {
  flex: 0 0 auto;
  font-size: 1rem;
  line-height: 1;
}

.gr-page-agenda .gr-agenda-meta__item > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.gr-page-agenda .gr-agenda-card--featured .gr-agenda-meta__item {
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.14);
  color: var(--gr-white);
}

@media (max-width: 35rem) {
  .gr-page-agenda .gr-agenda-meta {
    align-items: stretch;
  }

  .gr-page-agenda .gr-agenda-meta__item--place {
    flex: 1 1 100%;
    border-radius: 0.875rem;
  }
}

/* Agenda: refinamento compacto dos cards */
.gr-page-agenda .gr-agenda-list--cards > article {
  min-height: 0;
  padding: 1.2rem 1.35rem;
  column-gap: 1.25rem;
  row-gap: 0;
}

.gr-page-agenda .gr-agenda-list--cards > article > div:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.65rem;
}

.gr-page-agenda .gr-agenda-list--cards .gr-badge,
.gr-page-agenda .gr-agenda-list--cards h3,
.gr-page-agenda .gr-agenda-list--cards .gr-agenda-meta {
  margin: 0;
}

.gr-page-agenda .gr-agenda-list--cards h3 {
  line-height: 1.18;
}

.gr-page-agenda .gr-agenda-meta {
  gap: 0.5rem;
  margin-top: 0;
}

.gr-page-agenda .gr-agenda-meta__item {
  min-height: 1.95rem;
  padding: 0.34rem 0.65rem;
}

.gr-page-agenda .gr-agenda-list--cards > article > :first-child {
  align-self: center;
}

@media (max-width: 48rem) {
  .gr-page-agenda .gr-agenda-list--cards > article {
    padding: 1.1rem;
    column-gap: 1rem;
  }

  .gr-page-agenda .gr-agenda-list--cards > article > div:last-child {
    gap: 0.55rem;
  }
}
/* Fim: refinamento compacto dos cards */
