iconify-icon {
  display: inline-block;
  line-height: 0;
  vertical-align: middle;
}

/* --- Header --- */

#site-header {
  transition: background-color 200ms, border-color 200ms;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

#site-header.is-transparent {
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

#site-header.is-solid:not(.is-dark) {
  border-bottom-color: #e5e7eb;
}

.site-logo {
  --logo-scale: 1.333;
  --logo-y: 8px;
  height: 3rem;
  width: 3rem;
  transform: translateY(var(--logo-y)) scale(var(--logo-scale));
  transform-origin: center;
  transition: transform 250ms ease;
}

#site-header.is-scrolled .site-logo {
  --logo-scale: 1;
  --logo-y: 0px;
}

@media (min-width: 1024px) {
  .site-logo {
    --logo-scale: 1.25;
    height: 4rem;
    width: 4rem;
  }
}

/* Header utility cluster (Sócio / Loja) + primary CTA */
.hdr-util-btn {
  color: #020203;
}

.hdr-util-sep {
  background-color: #e5e7eb;
}

#site-header summary,
#site-header nav a,
#site-header .hdr-util-group,
#site-header .hdr-util-btn,
#site-header .hdr-util-sep,
#site-header .hdr-primary-btn {
  transition: color 200ms, border-color 200ms, background-color 200ms;
}

@media (max-width: 639.98px) {
  .site-logo {
    --logo-scale: 1.2;
    --logo-y: 6px;
    height: 3.25rem;
    width: 3.25rem;
  }

  .hdr-util-btn {
    background-color: rgba(2, 2, 3, 0.06);
  }

  .hdr-util-btn:hover {
    background-color: #0c603b;
    color: #fbfdff;
  }

  #site-header.is-transparent {
    background-color: rgba(3, 3, 3, 5%);
  }

  #site-header.is-transparent .hdr-util-btn {
    color: #fbfdff;
    background-color: rgba(251, 253, 255, 0.14);
  }

  #site-header.is-transparent .hdr-util-btn:hover {
    background-color: #0c603b;
    color: #fbfdff;
  }

  #site-header.is-dark .hdr-util-btn {
    color: #fbfdff;
    background-color: rgba(251, 253, 255, 0.12);
  }

  #site-header.is-dark.menu-open .hdr-util-btn,
  #site-header.is-dark.is-solid.is-scrolled .hdr-util-btn {
    color: #020203;
    background-color: rgba(2, 2, 3, 0.06);
  }
}

@media (min-width: 640px) {
  .hdr-util-group {
    background-color: #fbfdff;
    border-color: #e5e7eb;
  }

  #site-header.is-transparent .hdr-util-group {
    background-color: rgba(251, 253, 255, 0.1);
    border-color: rgba(251, 253, 255, 0.22);
    backdrop-filter: blur(8px);
  }

  #site-header.is-transparent .hdr-util-btn {
    color: #fbfdff;
  }

  #site-header.is-transparent .hdr-util-btn:hover {
    background-color: #0c603b;
    color: #fbfdff;
  }

  #site-header.is-transparent .hdr-util-sep {
    background-color: rgba(251, 253, 255, 0.22);
  }

  #site-header.is-transparent:not(.menu-open):hover .hdr-util-group {
    background-color: #fbfdff;
    border-color: #e5e7eb;
  }

  #site-header.is-transparent:not(.menu-open):hover .hdr-util-btn {
    color: #020203;
  }

  #site-header.is-transparent:not(.menu-open):hover .hdr-util-btn:hover {
    background-color: #0c603b;
    color: #fbfdff;
  }

  #site-header.is-transparent:not(.menu-open):hover .hdr-util-sep {
    background-color: #e5e7eb;
  }

  #site-header.is-dark .hdr-util-group {
    background-color: rgba(251, 253, 255, 0.1);
    border-color: rgba(251, 253, 255, 0.22);
  }

  #site-header.is-dark .hdr-util-btn {
    color: #fbfdff;
  }

  #site-header.is-dark .hdr-util-btn:hover {
    background-color: #084229;
    color: #fbfdff;
  }

  #site-header.is-dark .hdr-util-sep {
    background-color: rgba(251, 253, 255, 0.22);
  }

  #site-header.is-dark:hover .hdr-util-group,
  #site-header.is-dark.menu-open .hdr-util-group,
  #site-header.is-dark.is-solid.is-scrolled .hdr-util-group {
    background-color: #fbfdff;
    border-color: #e5e7eb;
  }

  #site-header.is-dark:hover .hdr-util-btn,
  #site-header.is-dark.menu-open .hdr-util-btn,
  #site-header.is-dark.is-solid.is-scrolled .hdr-util-btn {
    color: #020203;
  }

  #site-header.is-dark:hover .hdr-util-btn:hover,
  #site-header.is-dark.menu-open .hdr-util-btn:hover,
  #site-header.is-dark.is-solid.is-scrolled .hdr-util-btn:hover {
    background-color: #0c603b;
    color: #fbfdff;
  }

  #site-header.is-dark:hover .hdr-util-sep,
  #site-header.is-dark.menu-open .hdr-util-sep,
  #site-header.is-dark.is-solid.is-scrolled .hdr-util-sep {
    background-color: #e5e7eb;
  }
}

#site-header.is-transparent summary,
#site-header.is-transparent nav a {
  color: #fbfdff;
}

@media (min-width: 640px) {
  #site-header.is-transparent:not(.menu-open) {
    background-color: transparent;
    border-bottom-color: transparent;
  }

  #site-header.is-transparent:not(.menu-open):hover {
    background-color: #fbfdff;
    border-bottom-color: #e5e7eb;
  }

  #site-header.is-transparent:not(.menu-open):hover summary,
  #site-header.is-transparent:not(.menu-open):hover nav a {
    color: #020203;
  }
}

#site-header.is-dark {
  border-bottom-color: rgb(255 255 255 / 0.2);
}

#site-header.is-dark summary,
#site-header.is-dark nav a {
  color: #fbfdff;
}

/* Dark header (contactos): go white while the drawer is open.
   A solid dark header also goes white once scrolled. */
#site-header.is-dark.menu-open,
#site-header.is-dark.is-solid.is-scrolled {
  background-color: #fbfdff;
  border-bottom-color: #e5e7eb;
}

#site-header.is-dark.menu-open summary,
#site-header.is-dark.menu-open nav a,
#site-header.is-dark.is-solid.is-scrolled summary,
#site-header.is-dark.is-solid.is-scrolled nav a {
  color: #020203;
}

@media (min-width: 640px) {
  #site-header.is-dark summary:hover,
  #site-header.is-dark nav a:hover {
    background-color: rgba(251, 253, 255, 0.08);
  }

  #site-header.is-dark:hover {
    background-color: #fbfdff;
    border-bottom-color: #e5e7eb;
  }

  #site-header.is-dark:hover summary,
  #site-header.is-dark:hover nav a {
    color: #020203;
  }

  #site-header.is-dark:hover summary:hover,
  #site-header.is-dark:hover nav a:hover,
  #site-header.is-dark.menu-open summary:hover,
  #site-header.is-dark.menu-open nav a:hover,
  #site-header.is-dark.is-solid.is-scrolled summary:hover,
  #site-header.is-dark.is-solid.is-scrolled nav a:hover {
    background-color: #f3f4f6;
  }
}

@media (max-width: 639.98px) {
  #site-header summary:hover,
  #site-header nav a:hover {
    background-color: transparent;
  }
}

@keyframes nav-backdrop-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes nav-drawer-in {
  from {
    opacity: 0;
    transform: translateX(-100%);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes nav-drawer-sub-in {
  from {
    opacity: 0;
    transform: translateX(-1.5rem);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes nav-fade-in-right {
  from {
    opacity: 0;
    transform: translateX(-2.5rem);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

#nav-drawer:not(.hidden) #nav-drawer-backdrop {
  animation: nav-backdrop-in 0.3s ease-out both;
}

#nav-drawer:not(.hidden) #nav-drawer-main {
  animation: nav-drawer-in 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

#nav-drawer-aside[data-sub] #nav-drawer-sub:not(.hidden) {
  animation: nav-drawer-sub-in 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.nav-drawer-animate {
  animation: nav-fade-in-right 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@media (max-width: 639.98px) {
  #nav-drawer-aside[data-sub] #nav-drawer-main {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  #nav-drawer #nav-drawer-backdrop,
  #nav-drawer #nav-drawer-main,
  #nav-drawer-aside[data-sub] #nav-drawer-sub,
  .nav-drawer-animate {
    animation: none;
  }
}

.page-intro-banner .intro-band {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 15px), calc(15% + 15px) calc(100% - 15px), 15% 100%, 0 100%);
}

.page-intro-banner .content-wrapper {
  clip-path: polygon(calc(15% + 15px) 15px, 100% 15px, 100% 100%, 0 100%, 0 0, 15% 0);
}

@media (min-width: 768px) {
  .page-intro-banner .intro-band {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 15px), calc(20% + 15px) calc(100% - 15px), 20% 100%, 0 100%);
  }

  .page-intro-banner .content-wrapper {
    clip-path: polygon(calc(20% + 15px) 15px, 100% 15px, 100% 100%, 0 100%, 0 0, 20% 0);
  }
}


@keyframes news-hero-card-in {
  from {
    opacity: 0;
    transform: translateY(1.5rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.news-swiper .swiper-slide {
  animation: news-hero-card-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.news-swiper .swiper-slide:nth-child(1) { animation-delay: 0.05s; }
.news-swiper .swiper-slide:nth-child(2) { animation-delay: 0.12s; }
.news-swiper .swiper-slide:nth-child(3) { animation-delay: 0.19s; }
.news-swiper .swiper-slide:nth-child(4) { animation-delay: 0.26s; }
.news-swiper .swiper-slide:nth-child(5) { animation-delay: 0.33s; }
.news-swiper .swiper-slide:nth-child(6) { animation-delay: 0.4s; }

.related-news-swiper .swiper-slide,
.news-swiper .swiper-slide {
  height: auto;
  align-self: flex-start;
}

.related-news-swiper .related-news-img,
.news-swiper .related-news-img {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
}

.related-news-swiper .related-news-img img,
.news-swiper .related-news-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-swiper .related-news-img img {
  transition: transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.news-swiper .related-news-img:hover img {
  transform: scale(1.06);
}

.news-swiper article {
  transition: transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.news-swiper article:hover {
  transform: translateY(-4px);
}

@media (prefers-reduced-motion: reduce) {
  .news-swiper .swiper-slide {
    animation: none;
  }

  .news-swiper .related-news-img img,
  .news-swiper article {
    transition: none;
  }

  .news-swiper article:hover {
    transform: none;
  }
}

@media (max-width: 1199px) {
  .related-news-swiper .related-news-img,
  .news-swiper .related-news-img {
    aspect-ratio: 4 / 5;
  }
}

@media (min-width: 1200px) {
  .related-news-swiper .related-news-img {
    height: calc((min(100vw - 2rem, 80rem - 2rem) - 32px) / 3 * 5 / 4);
  }

  .news-swiper .related-news-img {
    height: calc((min(100vw - 2rem, 80rem - 2rem) - 60px) / 4 * 5 / 4);
  }
}

.calendar-swiper-bleed {
  clip-path: inset(0 -100vw 0 0);
}

.calendar-swiper {
  overflow: visible;
}

.calendar-swiper .swiper-slide {
  height: auto;
  display: flex;
}

.calendar-card {
  width: 100%;
}

.swiper-nav-btn.swiper-button-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.page-hero-edge {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  z-index: 2;
  height: 9rem;
  pointer-events: none;
}

.page-hero-edge::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: rgba(251, 253, 255, 0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  mask-image: linear-gradient(to bottom, transparent, black 75%);
  -webkit-mask-image: linear-gradient(to bottom, transparent, black 75%);
}

.page-hero-edge::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.20) 45%, #000000 100%);
}

@media (min-width: 1024px) {
  .page-hero-edge {
    height: 16rem;
  }
}

.contactos-page {
  --contactos-bg: #0c603b;
  --contactos-text: #fbfdff;
  --contactos-muted: rgba(251, 253, 255, 0.35);
  --contactos-label: rgba(251, 253, 255, 0.45);
  --contactos-lead: rgba(251, 253, 255, 0.7);
  --contactos-border: rgba(251, 253, 255, 0.2);
  --contactos-link-hover: #fcc761;
  background-color: var(--contactos-bg);
  color: var(--contactos-text);
}

.contactos-page .contactos-light {
  --contactos-bg: #fbfdff;
  --contactos-text: #020203;
  --contactos-muted: rgba(2, 2, 3, 0.35);
  --contactos-label: rgba(2, 2, 3, 0.45);
  --contactos-lead: rgba(2, 2, 3, 0.7);
  --contactos-border: #e5e7eb;
  --contactos-link-hover: #d71319;
  background-color: var(--contactos-bg);
  color: var(--contactos-text);
}

.contactos-label { color: var(--contactos-label); }
.contactos-body { color: var(--contactos-text); }
.contactos-lead { color: var(--contactos-lead); }
.contactos-card { border-color: var(--contactos-border); }
.contactos-link { color: inherit; }
.contactos-link:hover { color: var(--contactos-link-hover); }

main.page-news {
  background-color: #fbfdff;
  padding-top: 0 !important;
}

main.page-news .column-section-container {
  background-color: #fbfdff;
  padding-bottom: 7rem;
  padding-top: 2.5rem;
}

main.page-news #wrapper {
  display: grid;
  gap: 2rem 1.5rem;
  grid-template-columns: 1fr;
}

@media (min-width: 640px) {
  main.page-news #wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}

main.page-news .news-box.is-hidden {
  display: none;
}

main.page-news .news-img img {
  aspect-ratio: 16 / 10;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  width: 100%;
}

main.page-news .news-img:hover img {
  transform: scale(1.05);
}

main.page-news .load-more-container {
  align-items: center;
  clear: both;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 3.5rem;
  text-align: center;
}

@media (min-width: 992px) {
  main.page-news .load-more-container {
    padding-top: 5.625rem;
  }
}

/* --- Classificação: modo detalhada (só mobile; sm+ já mostra tudo) --- */

@media (max-width: 639px) {
  #clsf-scroll.detalhada { overflow-x: auto; }
  #clsf-scroll.detalhada #clsf-table { min-width: 32rem; }
  #clsf-scroll.detalhada .clsf-grid { grid-template-columns: 1.5rem 1.75rem minmax(6rem, 1fr) repeat(5, 3rem); }
  #clsf-scroll.detalhada .clsf-extra { display: block; }
  #site-header.is-transparent {
    border-bottom-color: rgba(255, 255, 255, 0.2);
  }
}

/* --- Footer reveal --- */

html,
body,
#site-scroll {
  background-color: #fbfdff;
  min-height: 100%;
}

html.is-ready {
  background-color: #bd1116;
}
@media (min-width: 768px) {
  #footer-reveal-spacer { background-color: #bd1116; }
  #footer-reveal-bar { transform: translateZ(0); }
}

/* --- Clamp de 2 linhas (resumos de notícias) --- */

.ellipsis2 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}

.ellipsis3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}
