﻿:root {
  --bp-green: #0f6d35;
  --bp-green-dark: #08351c;
  --bp-green-deep: #062a15;
  --bp-lime: #a6ef60;
  --bp-gold: #d8ff84;
  --bp-bg: #f6fbf6;
  --bp-text: #173122;
  --bp-muted: #617b6b;
  --bp-card: #ffffff;
  --bp-border: rgba(15,109,53,.10);
  --bp-shadow: 0 18px 40px rgba(8,53,28,.10);
  --bp-navbar-offset: 148px;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--bp-navbar-offset);
  overflow-x: hidden;
}

body {
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--bp-text);
  background: linear-gradient(180deg, #f4faf5 0%, #ffffff 30%, #f5faf6 100%);
  overflow-x: hidden;
  max-width: 100%;
}

.navbar-custom {
  transition: all .35s ease;
  background: linear-gradient(180deg, var(--bp-green-dark) 0%, var(--bp-green) 100%);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.15);
}

.navbar-custom.navbar-scrolled {
  background: linear-gradient(180deg, rgba(8,53,28,.92) 0%, rgba(15,109,53,.9) 100%);
  box-shadow: 0 14px 28px rgba(0,0,0,.18);
}

.navbar-brand {
  font-weight: 900;
  letter-spacing: .2px;
  color: #fff !important;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: .3rem;
  flex-shrink: 0;
  text-align: left;
  margin-right: 0;
  padding: .35rem 0;
  transform: scale(1);
  transform-origin: left center;
  transition: transform .3s ease;
}

#mainNav.logo-shrink .navbar-brand {
  transform: scale(0.92);
}

.navbar-shell {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: .25rem 0;
}

.navbar-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.navbar-brand img {
  display: block;
  height: 76px;
  width: auto;
  max-width: 260px;
  object-fit: contain;
  object-position: center;
}

.brand-mark {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, #0f6d35, #86d54c);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: white;
  box-shadow: 0 10px 24px rgba(134,213,76,.25);
}

.nav-link {
  color: rgba(255,255,255,.88) !important;
  font-weight: 600;
  font-size: .96rem;
}

.nav-link:hover { color: #fff !important; }

.tagline-script {
  font-family: "Caveat", cursive;
  font-weight: 600;
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
  line-height: 1.15;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.navbar-brand .tagline-script {
  font-size: 1.4rem;
  font-weight: 500;
  opacity: 0.92;
  white-space: nowrap;
  line-height: 1.1;
}

.navbar-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.top-actions {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  row-gap: .65rem;
  padding-top: .35rem;
  padding-bottom: .65rem;
  margin-bottom: 0;
  border-bottom: 1px solid rgba(255,255,255,.2);
  flex-shrink: 0;
  min-height: 3rem;
}

.navbar-main-row {
  padding-top: .35rem;
  padding-bottom: .15rem;
}

.navbar-content .navbar-collapse {
  justify-content: flex-end;
}

.btn-login,
.btn-whats,
.btn-register,
.btn-register-influencer {
  border: none;
  color: #1e3a8a;
  background: linear-gradient(135deg, #93c5fd, #dbeafe);
  font-weight: 800;
}

.btn-login,
.btn-whats,
.btn-register,
.btn-register-influencer {
  border-radius: 999px;
  font-weight: 700;
  padding: .72rem 1.15rem;
  font-size: .92rem;
  transition: background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.btn-login {
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
  background: rgba(255,255,255,.08);
}

.btn-whats {
  border: 1px solid rgba(255,255,255,.25);
  color: #fff;
  background: rgba(37,211,102,.2);
}

.btn-register {
  border: none;
  color: #08351c;
  background: linear-gradient(135deg, var(--bp-lime), var(--bp-gold));
  box-shadow: 0 10px 24px rgba(166,239,96,.24);
}

.btn-register-influencer {
  border: none;
  color: #7c2d12;
  background: linear-gradient(135deg, #fbbf24, #fde68a);
  box-shadow: 0 10px 24px rgba(251,191,36,.28);
}

.top-actions .btn-login:hover,
.top-actions .btn-whats:hover,
.top-actions .btn-register:hover,
.top-actions .btn-register-influencer:hover,
.top-actions-mobile .btn-login:hover,
.top-actions-mobile .btn-whats:hover,
.top-actions-mobile .btn-register:hover,
.top-actions-mobile .btn-register-influencer:hover {
  background: #fff !important;
  color: var(--bp-green) !important;
  border-color: #fff;
  transform: scale(1.06);
  box-shadow: 0 6px 18px rgba(0,0,0,.14);
}

.hero {
  min-height: 100vh;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: stretch;
}

.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.03);
  transition: opacity 1s ease, transform 7s ease;
}

.hero-slide.active {
  opacity: 1;
  transform: scale(1);
}

.hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4,26,13,.92) 0%, rgba(6,39,20,.70) 44%, rgba(6,39,20,.36) 100%),
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.22));
}

.hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding-top: 120px;
  padding-bottom: 90px;
  display: flex;
  align-items: center;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-top: 40px;
  padding: .55rem .9rem;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  color: #e9fff0;
  font-size: .92rem;
  backdrop-filter: blur(8px);
}

.hero h1 {
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  line-height: .98;
  font-weight: 900;
  color: white;
  margin-top: 1rem;
  max-width: 860px;
}

.hero p {
  color: rgba(255,255,255,.88);
  font-size: 1.08rem;
  max-width: 720px;
}

.hero-content-panel {
  display: none;
  max-width: 920px;
}

.hero-content-panel.active {
  display: block;
}

.hero-content-panel .eyebrow {
  margin-top: 0;
}

.hero-highlight-box,
.school-card,
.quadra-card,
.feature-card,
.blog-card,
.depo-card,
.sponsor-card,
.mini-board,
.student-card,
.agenda-card {
  background: var(--bp-card);
  border: 1px solid var(--bp-border);
  border-radius: 24px;
  box-shadow: var(--bp-shadow);
}

.hero-highlight-box {
  padding: 1.3rem;
  background: rgba(255,255,255,.09);
  backdrop-filter: blur(10px);
  border-color: rgba(255,255,255,.12);
  color: #fff;
}

.hero-stat-number { font-size: 1.8rem; font-weight: 900; }
.hero-stat-label { color: rgba(255,255,255,.75); font-size: .92rem; }

.hero-panel {
  padding: 1.4rem;
  background: rgba(255,255,255,.95);
}

.hero-panel-head {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.hero-icon,
.mini-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(15,109,53,.12), rgba(166,239,96,.26));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--bp-green);
  font-size: 1.35rem;
  flex-shrink: 0;
}

.mini-icon {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  font-size: 1rem;
}

.hero-quick-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem 1rem;
  border-radius: 18px;
  background: #f7fbf7;
  border: 1px solid rgba(15,109,53,.08);
  color: var(--bp-text);
  text-decoration: none;
  font-weight: 700;
}

.hero-quick-link:hover { color: var(--bp-green); }

.section-space { padding: 92px 0; }

.section-title {
  font-size: clamp(1.9rem, 3.5vw, 3.1rem);
  line-height: 1.05;
  font-weight: 900;
  margin-bottom: 1rem;
}

.section-subtitle {
  color: var(--bp-muted);
  font-size: 1.04rem;
  max-width: 780px;
}

.tag {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .48rem .82rem;
  border-radius: 999px;
  background: rgba(15,109,53,.08);
  color: var(--bp-green);
  font-size: .86rem;
  font-weight: 800;
  border: 1px solid rgba(15,109,53,.08);
}

.school-card,
.quadra-card,
.feature-card,
.blog-card,
.depo-card,
.sponsor-card,
.mini-board,
.student-card,
.agenda-card { padding: 1.3rem; height: 100%; }

/* Seção plataforma — faixa full-width + bola decorativa */
.bp-plataforma {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: linear-gradient(180deg, #e8f5ec 0%, #d9eedf 100%);
  border-top: 1px solid rgba(15, 109, 53, .12);
  border-bottom: 1px solid rgba(15, 109, 53, .12);
}

.bp-plataforma__bola {
  position: absolute;
  top: 1.25rem;
  right: clamp(1rem, 4vw, 3rem);
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(64px, 8vw, 96px);
  height: clamp(64px, 8vw, 96px);
  color: rgba(15, 109, 53, .22);
  font-size: clamp(2.4rem, 5vw, 3.75rem);
  pointer-events: none;
  line-height: 1;
}

@media (max-width: 575.98px) {
  .bp-plataforma__bola {
    top: .75rem;
    right: .75rem;
    opacity: .85;
  }
}

.school-cover,
.quadra-cover,
.blog-cover,
.video-cover,
.student-cover {
  aspect-ratio: 16 / 9;
  min-height: 220px;
  border-radius: 20px;
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}

.student-cover { min-height: 180px; aspect-ratio: 4 / 3; }

.school-cover__brand {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  z-index: 2;
}

.school-logo {
  width: 72px;
  height: 72px;
  object-fit: contain;
  border-radius: 18px;
  background: #fff;
  border: 3px solid rgba(255, 255, 255, .95);
  box-shadow: 0 10px 24px rgba(8, 53, 28, .28);
  display: block;
}

.school-logo--ini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: .04em;
  color: var(--bp-green);
  background: linear-gradient(145deg, #fff 0%, #eef8ef 100%);
}

.school-card__brand {
  margin-top: .35rem;
  margin-bottom: .35rem;
}

.school-card__nome-link {
  color: inherit;
  text-decoration: none;
}

.school-card__nome-link:hover .school-card__nome,
.school-card__nome-link:focus-visible .school-card__nome {
  color: var(--bp-green);
}

.school-card__nome {
  line-height: 1.2;
  letter-spacing: -.01em;
  color: var(--bp-text);
  transition: color .2s ease;
}

.school-meta i {
  color: var(--bp-green);
  margin-right: .25rem;
  font-size: .85em;
}

.school-card__cta {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .25rem;
}

.school-card {
  display: flex;
  flex-direction: column;
}

.school-card .school-resumo {
  flex: 1 1 auto;
}

.school-card .school-card__cta {
  margin-top: auto;
}

.school-cover::after,
.quadra-cover::after,
.blog-cover::after,
.video-cover::after,
.student-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.38));
}

.school-badge,
.quadra-badge,
.blog-badge,
.student-badge {
  display: inline-block;
  padding: .42rem .75rem;
  border-radius: 999px;
  background: rgba(15,109,53,.08);
  color: var(--bp-green);
  font-size: .82rem;
  font-weight: 800;
}

.school-meta,
.quadra-meta,
.blog-meta,
.depo-meta,
.student-meta {
  color: var(--bp-muted);
  font-size: .92rem;
}

a.student-card-link {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

a.student-card-link:hover .student-card,
a.student-card-link:focus-visible .student-card {
  border-color: rgba(15, 109, 53, .35);
  box-shadow: 0 12px 28px rgba(15, 109, 53, .12);
  transform: translateY(-2px);
}

a.student-card-link .student-card {
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

a.student-card-link .student-cover {
  transition: transform .35s ease;
}

a.student-card-link:hover .student-cover,
a.student-card-link:focus-visible .student-cover {
  transform: scale(1.03);
}

.student-cover--ini {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, rgba(15, 109, 53, .92), rgba(0, 0, 0, .88));
}

.student-cover--ini::after {
  display: none;
}

.student-cover__ini {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1;
}

@media (prefers-reduced-motion: reduce) {
  a.student-card-link .student-card,
  a.student-card-link .student-cover {
    transition: none;
  }
  a.student-card-link:hover .student-card,
  a.student-card-link:focus-visible .student-card,
  a.student-card-link:hover .student-cover,
  a.student-card-link:focus-visible .student-cover {
    transform: none;
  }
}

.school-resumo {
  overflow-wrap: anywhere;
  word-wrap: break-word;
  word-break: break-word;
  hyphens: auto;
  max-width: 100%;
}

.text-link {
  text-decoration: none;
  color: var(--bp-green);
  font-weight: 800;
}

.text-link:hover { color: var(--bp-green-dark); }

.board-dark {
  background: linear-gradient(135deg, #08351c, #0f6d35 60%, #0d572f 100%);
  color: #fff;
  position: relative;
  overflow: hidden;
}

.board-dark::before {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  top: -120px;
  right: -80px;
  background: rgba(255,255,255,.06);
  filter: blur(8px);
}

.board-dark .section-subtitle,
.board-dark .small-muted,
.board-dark .depo-meta,
.board-dark p { color: rgba(255,255,255,.76); }

.board-dark .tag {
  background: rgba(255,255,255,.10);
  color: #fff;
  border-color: rgba(255,255,255,.10);
}

.agenda-item {
  padding: 1rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
}

.agenda-date {
  width: 64px;
  border-radius: 18px;
  padding: .7rem .3rem;
  text-align: center;
  background: rgba(255,255,255,.14);
  color: #fff;
  flex-shrink: 0;
  font-weight: 900;
  line-height: 1;
}

.feature-list li {
  margin-bottom: .82rem;
  color: var(--bp-text);
}

.feature-list i { color: var(--bp-green); }

.blog-feature-wrap {
  background: linear-gradient(180deg, #edf4f0 0%, #e6eef2 100%);
  border-radius: 34px;
  padding: 14px;
}

.blog-hero-card {
  position: relative;
  aspect-ratio: 680 / 800;
  min-height: 420px;
  border-radius: 28px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  box-shadow: var(--bp-shadow);
}

.blog-hero-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8,34,21,.10) 0%, rgba(8,34,21,.28) 42%, rgba(7,52,28,.82) 100%);
}

.blog-hero-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 2rem 2rem 2.2rem;
  color: white;
}

.blog-kicker {
  display: inline-flex;
  align-items: center;
  padding: .45rem .95rem;
  border-radius: 999px;
  background: rgba(166,239,96,.18);
  color: #f8ffcf;
  border: 1px solid rgba(166,239,96,.26);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.blog-hero-title {
  font-size: clamp(1.6rem, 2.4vw, 2.35rem);
  line-height: 1.1;
  font-weight: 900;
  max-width: 100%;
  margin-bottom: .7rem;
}

.blog-hero-text {
  font-size: .98rem;
  color: rgba(255,255,255,.88);
  max-width: 100%;
  margin-bottom: 1.1rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-side-stack {
  display: flex;
  flex-direction: column;
  gap: 22px;
  height: 100%;
}

.blog-side-card {
  background: rgba(255,255,255,.94);
  border-radius: 28px;
  padding: 1.25rem 1.3rem;
  border: 1px solid rgba(15,109,53,.07);
  box-shadow: 0 12px 28px rgba(8,53,28,.06);
  flex: 1 1 0;
  min-height: 132px;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.blog-side-thumb {
  width: 108px;
  height: 84px;
  object-fit: cover;
  border-radius: 18px;
  flex-shrink: 0;
}

img.lazy-pending {
  opacity: 0;
}

[data-bg].lazy-pending,
.school-cover.lazy-pending,
.quadra-cover.lazy-pending,
.bp-esc-locacao-card__cover.lazy-pending,
.student-cover.lazy-pending,
.video-cover.lazy-pending,
.blog-hero-card.lazy-pending {
  background-color: #e8efe9;
}

img.lazy-loaded,
[data-bg].lazy-loaded,
.school-cover.lazy-loaded,
.quadra-cover.lazy-loaded,
.bp-esc-locacao-card__cover.lazy-loaded,
.student-cover.lazy-loaded,
.video-cover.lazy-loaded,
.blog-hero-card.lazy-loaded {
  opacity: 1;
  background-color: transparent;
  transition: opacity 0.35s ease, background-color 0.35s ease;
}

.blog-side-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .8rem;
}

.blog-side-pill {
  display: inline-flex;
  align-items: center;
  padding: .42rem .9rem;
  border-radius: 999px;
  background: rgba(15,109,53,.08);
  color: #0d5f30;
  font-size: .8rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.blog-side-label {
  color: #9d978d;
  font-weight: 800;
  font-size: .82rem;
}

.blog-side-card > .flex-grow-1 {
  min-width: 0;
}

.blog-side-title {
  font-size: 1.1rem;
  line-height: 1.22;
  font-weight: 900;
  margin-bottom: .45rem;
  color: #163122;
  overflow-wrap: anywhere;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-side-desc {
  color: #6e8276;
  margin: 0;
  font-size: .95rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-full-banner {
  margin-top: 26px;
  min-height: 160px;
  border-radius: 28px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(135deg, #0a4d27 0%, #0f6d35 55%, #78c447 100%);
  box-shadow: var(--bp-shadow);
}

.blog-full-banner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 50%, rgba(255,255,255,.14), transparent 28%),
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.14), transparent 25%);
}

.blog-full-banner .banner-inner {
  position: relative;
  z-index: 2;
  min-height: 160px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  padding: 1.6rem 2rem;
  color: white;
}

.blog-full-banner .tag {
  background: rgba(255,255,255,.12);
}

.blog-full-banner h3 {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
}

.blog-full-banner .banner-inner p {
  color: rgba(255,255,255,.82);
  max-width: 760px;
}

.match-card {
  border-radius: 30px;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(15,109,53,.08);
  box-shadow: 0 16px 34px rgba(8,53,28,.08);
  height: 100%;
}

/* Faixa superior colorida para diferenciar rapidamente o tipo de card:
   verde = campeonato, azul = amistoso. */
.match-card--campeonato { border-top: 5px solid #1d7b43; }
.match-card--amistoso { border-top: 5px solid #1c6fd6; }

/* Tag de tipo (com ícone) destacada da cor base do card. */
.match-tag--tipo i { margin-right: .1rem; }
.match-card--campeonato .match-tag--tipo {
  background: rgba(43,150,83,.28);
  color: #eafff0;
}
.match-card--amistoso .match-tag--tipo {
  background: rgba(28,111,214,.32);
  color: #eaf3ff;
}

.match-card-top {
  background: linear-gradient(135deg, #0a5a2e 0%, #1d7b43 48%, #2b9653 100%);
  padding: 1.4rem 1.4rem 1.2rem;
  color: white;
  min-height: 232px;
  display: flex;
  flex-direction: column;
}

/* Tags sempre na base do topo: alinha campeonato e amistoso no mesmo padrão. */
.match-card-top .match-tags {
  margin-top: auto;
}

.match-teams {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: start;
  gap: .8rem;
  text-align: center;
  margin-bottom: 1rem;
}

.match-badge-circle {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 1.35rem;
  margin-bottom: .6rem;
}

.match-versus {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  font-size: 1rem;
  margin-top: .7rem;
}

.match-team-name {
  font-size: .9rem;
  line-height: 1.2;
  font-weight: 800;
  max-width: 160px;
  margin: 0 auto;
}

.match-tags {
  display: flex;
  gap: .55rem;
  flex-wrap: wrap;
  margin-top: .35rem;
}

.match-tag {
  display: inline-flex;
  align-items: center;
  padding: .45rem .78rem;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff7c7;
  font-size: .82rem;
  font-weight: 800;
}

.match-card-body {
  padding: 1.45rem 1.4rem 1.5rem;
}

.match-card-body h3 {
  font-size: 1.65rem;
  line-height: 1.15;
  font-weight: 900;
  color: #21384a;
  margin-bottom: 1rem;
}

.match-card-body p {
  color: #6f8190;
  font-size: 1rem;
  line-height: 1.58;
  margin-bottom: 1rem;
}

.match-meta {
  color: #6f8190;
  font-size: .97rem;
  line-height: 1.6;
  margin-bottom: 1.2rem;
}

.match-btn {
  border-radius: 999px;
  padding: .85rem 1.4rem;
  border: 1px solid rgba(15,109,53,.14);
  color: #0d5f30;
  background: white;
  font-weight: 800;
}

.sponsor-strip {
  background: linear-gradient(180deg, #f3f8f4, #fff);
  border-radius: 24px;
  padding: 1rem;
  border: 1px dashed rgba(15,109,53,.14);
}

.sponsor-strip .sponsor-card {
  padding: 1rem .85rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .2s ease,
    background .2s ease,
    color .2s ease;
  transform: scale(1);
  transform-origin: center center;
  will-change: transform;
}

.sponsor-strip .sponsor-card:hover,
.sponsor-strip .sponsor-card:focus-within {
  transform: scale(1.04);
  box-shadow: 0 10px 28px rgba(15, 109, 53, .12);
  z-index: 1;
}

.sponsor-strip .sponsor-card .partner-logo-img,
.sponsor-strip .sponsor-card .partner-name,
.sponsor-strip .sponsor-card .partner-socials,
.sponsor-strip .sponsor-card .partner-contacts,
.sponsor-strip .sponsor-card .partner-cta-text,
.sponsor-strip .sponsor-card .partner-logo--cta {
  transition: transform .28s ease;
}

.sponsor-strip .sponsor-card:hover .partner-logo-img,
.sponsor-strip .sponsor-card:hover .partner-logo--cta,
.sponsor-strip .sponsor-card:focus-within .partner-logo-img,
.sponsor-strip .sponsor-card:focus-within .partner-logo--cta {
  transform: scale(1.06);
}

@media (prefers-reduced-motion: reduce) {
  .sponsor-strip .sponsor-card,
  .sponsor-strip .sponsor-card .partner-logo-img,
  .sponsor-strip .sponsor-card .partner-name,
  .sponsor-strip .sponsor-card .partner-socials,
  .sponsor-strip .sponsor-card .partner-contacts,
  .sponsor-strip .sponsor-card .partner-cta-text,
  .sponsor-strip .sponsor-card .partner-logo--cta {
    transition: none;
  }

  .sponsor-strip .sponsor-card:hover,
  .sponsor-strip .sponsor-card:focus-within,
  .sponsor-strip .sponsor-card:hover .partner-logo-img,
  .sponsor-strip .sponsor-card:hover .partner-logo--cta,
  .sponsor-strip .sponsor-card:focus-within .partner-logo-img,
  .sponsor-strip .sponsor-card:focus-within .partner-logo--cta {
    transform: none;
  }
}

a.sponsor-card--cta {
  color: var(--bp-text);
  border-style: dashed;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}

a.sponsor-card--cta:hover,
a.sponsor-card--cta:focus-visible {
  color: var(--bp-green);
  border-color: rgba(15,109,53,.35);
  background: rgba(15,109,53,.04);
  outline: none;
}

.partner-logo--cta {
  color: var(--bp-green);
  font-size: 1.6rem;
  border: 1px dashed rgba(15,109,53,.18);
}

.partner-cta-text {
  color: var(--bp-muted);
  line-height: 1.35;
}

a.sponsor-card--cta:hover .partner-cta-text,
a.sponsor-card--cta:focus-visible .partner-cta-text {
  color: var(--bp-text);
}

.partner-logo,
.partner-logo-link {
  width: 100%;
  height: 88px;
  border-radius: 18px;
  background: #fff;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #7a9283;
  font-weight: 800;
  text-decoration: none;
  overflow: hidden;
  padding: .65rem .75rem;
  box-sizing: border-box;
}

.partner-logo-link:hover,
.partner-logo-link:focus-visible {
  outline: none;
}

.partner-logo-img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  margin-left: auto;
  margin-right: auto;
}

.partner-name {
  color: var(--bp-text);
  font-size: .92rem;
  line-height: 1.25;
  word-break: break-word;
}

.partner-socials {
  gap: .4rem !important;
}

.partner-social-link {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(15,109,53,.08);
  color: var(--bp-green);
  font-size: .85rem;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.partner-social-link:hover,
.partner-social-link:focus-visible {
  color: #fff;
  outline: none;
  transform: translateY(-1px);
}

.partner-social-link:hover:has(.fa-instagram),
.partner-social-link:focus-visible:has(.fa-instagram) {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}

.partner-social-link:hover:has(.fa-facebook-f),
.partner-social-link:focus-visible:has(.fa-facebook-f) {
  background: #1877f2;
}

.partner-social-link:hover:has(.fa-youtube),
.partner-social-link:focus-visible:has(.fa-youtube) {
  background: #ff0000;
}

.partner-social-link:hover:has(.fa-twitter),
.partner-social-link:focus-visible:has(.fa-twitter) {
  background: #1da1f2;
}

.partner-contacts {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: .65rem;
  line-height: 1.4;
  word-break: break-word;
}

.partner-contact-item {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: .4rem;
}

.partner-contact-item a {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  gap: .4rem;
  color: inherit;
  max-width: 100%;
}

.partner-contact-item i {
  flex-shrink: 0;
  margin-top: .15rem;
  color: var(--bp-green);
  font-size: .85rem;
}

.partner-contact-item span {
  min-width: 0;
  text-align: left;
}

.partner-contacts a:hover,
.partner-contacts a:focus-visible {
  color: var(--bp-green);
}

@media (max-width: 575.98px) {
  .sponsor-strip {
    padding: .75rem;
  }

  .sponsor-strip .sponsor-card {
    padding: .75rem .5rem;
  }

  .partner-logo,
  .partner-logo-link {
    height: 72px;
    padding: .5rem;
  }

  .partner-name {
    font-size: .82rem;
  }

  .partner-social-link {
    width: 28px;
    height: 28px;
    font-size: .78rem;
  }

  .partner-contacts {
    gap: .55rem;
    font-size: .75rem;
  }
}

.field-footer {
  position: relative;
  background:
    linear-gradient(180deg, #0d5e31 0%, #0a4d27 100%);
  color: #fff;
  overflow: hidden;
  padding: 2.75rem 0 0;
}

.field-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to right, transparent 49.85%, rgba(255,255,255,.30) 50%, transparent 50.15%),
    radial-gradient(circle at 50% 50%, transparent 0 72px, rgba(255,255,255,.30) 73px, rgba(255,255,255,.30) 75px, transparent 76px),
    repeating-linear-gradient(to bottom, rgba(255,255,255,.05) 0, rgba(255,255,255,.05) 2px, transparent 2px, transparent 64px);
  opacity: .30;
  pointer-events: none;
}

.footer-field-markings {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.footer-area {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 2px solid rgba(255,255,255,.30);
  box-sizing: border-box;
  opacity: .30;
}

.footer-area-lg {
  width: 7%;
  height: 80%;
}

.footer-area-sm {
  width: 4%;
  height: 50%;
}

.footer-area-left {
  left: 0;
  border-left: none;
}

.footer-area-right {
  right: 0;
  border-right: none;
}

.field-footer .container {
  position: relative;
  z-index: 2;
  padding-bottom: 2.5rem;
}

.footer-main {
  padding-top: .35rem;
}

.footer-brand-card {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 20px;
  padding: 1.65rem 1.4rem;
  height: 100%;
  box-shadow: 0 14px 32px rgba(0, 0, 0, .12);
}

.footer-bottom-bar {
  position: relative;
  z-index: 2;
  width: 100%;
  background: rgba(0, 0, 0, .22);
  border-top: 1px solid rgba(255, 255, 255, .12);
  padding: .85rem 1rem;
  text-align: center;
}

.footer-copyright {
  color: rgba(255, 255, 255, .82);
  font-size: .88rem;
  font-weight: 500;
  letter-spacing: .01em;
}

.footer-brand {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1rem;
  font-weight: 900;
  font-size: 1.25rem;
  padding: 0;
  z-index: 1;
}

.footer-brand-link {
  display: block;
  width: 100%;
  line-height: 0;
}

.footer-brand-logo {
  display: block;
  height: 88px;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  object-fit: contain;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, .24));
}

.footer-brand-tagline {
  font-size: 1.3rem;
  font-weight: 500;
  opacity: 0.95;
  line-height: 1.2;
  max-width: 16rem;
}

.footer-logo {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: rgba(255,255,255,.12);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.16);
}

.footer-nav {
  padding-top: .15rem;
}

@media (min-width: 992px) {
  .footer-nav {
    padding-left: .75rem;
  }
}

.footer-nav-group {
  height: 100%;
}

.footer-nav-title {
  position: relative;
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 1rem;
  padding: 0 0 .65rem;
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bp-gold);
  border: none;
}

.footer-nav-title-icon {
  flex-shrink: 0;
  font-size: .95rem;
  color: var(--bp-lime);
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .18));
}

.footer-nav-title::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, rgba(216, 255, 132, .75) 0%, rgba(166, 239, 96, .2) 72%, transparent 100%);
}

.footer-nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-nav-list li + li {
  margin-top: .55rem;
}

.footer-nav-list a,
.footer-social a {
  color: rgba(255,255,255,.88);
  text-decoration: none;
  font-weight: 600;
  transition: color .2s ease, opacity .2s ease, transform .2s ease;
}

.footer-nav-list a {
  font-size: .94rem;
  display: inline-block;
  line-height: 1.35;
}

.footer-nav-list a:hover {
  color: var(--bp-gold);
  transform: translateX(3px);
}

.whatsapp-float {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 1050;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.85rem;
  text-decoration: none;
  box-shadow: 0 6px 24px rgba(37, 211, 102, .45);
  transition: transform .2s ease, box-shadow .2s ease;
  /* pulso em scale não deve expandir a largura rolável da página */
  overflow: visible;
  contain: layout;
}

.whatsapp-float:hover {
  color: #fff;
  transform: scale(1.08);
  box-shadow: 0 8px 28px rgba(37, 211, 102, .55);
}

.whatsapp-float-pulse {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #25d366;
  animation: whatsapp-pulse 2s ease-out infinite;
  z-index: -1;
}

@keyframes whatsapp-pulse {
  0% {
    transform: scale(1);
    opacity: .65;
  }

  100% {
    transform: scale(1.65);
    opacity: 0;
  }
}

.footer-social {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  margin-top: .15rem;
  font-size: .95rem;
}

.footer-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .18);
  font-size: 1.05rem;
  opacity: 1;
}

.footer-social a:hover {
  background: rgba(166, 239, 96, .22);
  border-color: rgba(216, 255, 132, .45);
  color: #fff;
  transform: translateY(-2px);
}

.footer-whats {
  color: rgba(255, 255, 255, .9);
  text-decoration: none;
  font-weight: 600;
  font-size: .95rem;
  justify-content: center;
  transition: color .2s ease, opacity .2s ease;
}

.footer-whats:hover,
.footer-whats:focus-visible {
  color: #fff;
}

.dot-nav {
  position: absolute;
  z-index: 3;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: .55rem;
}

.dot-nav button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.36);
  transition: all .25s ease;
}

.dot-nav button.active { background: #fff; transform: scale(1.15); }

#quem-somos .school-cover {
  width: 100%;
  min-height: 420px;
  aspect-ratio: auto;
}

#escolinhas-rotator {
  position: relative;
}

.escolinhas-slide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  transition: opacity .7s ease, visibility .7s ease;
}

.escolinhas-slide.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  position: relative;
  z-index: 1;
}

/* Página pública de detalhe da escolinha (/escolinha/{urli}) */
.bp-escolinha__hero {
  position: relative;
  min-height: clamp(280px, 42vw, 420px);
  display: flex;
  align-items: flex-end;
  background-color: #0b2a18;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.bp-escolinha__hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(4, 26, 13, .25) 0%, rgba(4, 26, 13, .78) 100%),
    linear-gradient(90deg, rgba(4, 26, 13, .55) 0%, rgba(4, 26, 13, .15) 70%);
  pointer-events: none;
}

.bp-escolinha__hero-content {
  position: relative;
  z-index: 1;
  padding-top: 6rem;
  padding-bottom: 2.4rem;
  color: #fff;
}

.bp-escolinha__logo {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: contain;
  margin-bottom: 1rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, .92);
  padding: .35rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
}

.bp-escolinha__titulo {
  font-size: clamp(1.85rem, 3.2vw, 2.75rem);
  font-weight: 900;
  line-height: 1.12;
  margin: 0 0 .65rem;
  max-width: 18ch;
  color: #fff;
}

.bp-escolinha__local {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: rgba(255, 255, 255, .88);
}

.bp-escolinha__corpo {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.bp-escolinha__apresentacao {
  margin-bottom: 1.5rem;
}

.bp-escolinha .section-title.h4,
.bp-escolinha .section-title {
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: 800;
  margin-bottom: .5rem;
}

.bp-esc-chamadas {
  margin: 1.75rem 0 2rem;
}

.bp-esc-chamadas .section-title {
  margin-bottom: .35rem;
}

.bp-esc-chamadas .section-title i {
  margin-right: .5rem;
  color: var(--bp-green, #0f6d35);
}

.bp-esc-chamadas .section-subtitle {
  max-width: 40rem;
  color: var(--bp-muted, #5b6b63);
  font-size: 1rem;
}

.bp-esc-chamada {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.15rem 1.1rem 1.25rem;
  text-decoration: none;
  color: inherit;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96) 0%, rgba(244, 247, 245, .98) 100%);
  border: 1px solid rgba(15, 109, 53, .12);
  border-radius: 18px;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.bp-esc-chamada:hover,
.bp-esc-chamada:focus-visible {
  color: inherit;
  border-color: rgba(15, 109, 53, .35);
  box-shadow: 0 10px 28px rgba(11, 42, 24, .1);
  transform: translateY(-2px);
  outline: none;
}

.bp-esc-chamada__icone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  margin-bottom: .85rem;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(15, 109, 53, .12), rgba(166, 239, 96, .28));
  color: var(--bp-green, #0f6d35);
  font-size: 1.05rem;
}

.bp-esc-chamada__titulo {
  display: block;
  margin-bottom: .35rem;
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  color: #123524;
}

.bp-esc-chamada__texto {
  display: block;
  font-size: .9rem;
  line-height: 1.45;
  color: var(--bp-muted, #5b6b63);
}

@media (max-width: 575.98px) {
  .bp-esc-chamada {
    padding: 1rem .9rem 1.1rem;
  }

  .bp-esc-chamada__texto {
    font-size: .84rem;
  }
}

.bp-esc-vitrine {
  margin: 2rem 0 2.25rem;
}

.bp-esc-vitrine .section-title i {
  margin-right: .5rem;
  color: var(--bp-green, #0f6d35);
}

.bp-esc-vitrine .section-subtitle {
  max-width: 40rem;
  color: var(--bp-muted, #5b6b63);
  font-size: 1rem;
}

/* Locação de quadras — home da escolinha */
.bp-esc-locacao {
  position: relative;
  margin: 2rem 0 2.5rem;
  padding: 1.75rem 1.25rem 1.5rem;
  border-radius: 28px;
  overflow: hidden;
  background:
    radial-gradient(ellipse 80% 60% at 100% 0%, rgba(166, 239, 96, .22) 0%, transparent 55%),
    radial-gradient(ellipse 70% 50% at 0% 100%, rgba(15, 109, 53, .1) 0%, transparent 50%),
    linear-gradient(160deg, rgba(15, 109, 53, .07) 0%, rgba(255, 255, 255, .97) 45%, rgba(246, 251, 246, .98) 100%);
  border: 1px solid rgba(15, 109, 53, .14);
  box-shadow: 0 16px 36px rgba(8, 53, 28, .06);
}

.bp-esc-locacao::before {
  content: "";
  position: absolute;
  top: -40px;
  right: -30px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(166, 239, 96, .35) 0%, transparent 70%);
  pointer-events: none;
}

.bp-esc-locacao__intro {
  position: relative;
  z-index: 1;
  margin-bottom: 1.5rem;
}

.bp-esc-locacao__intro .section-subtitle {
  max-width: 38rem;
  color: var(--bp-muted, #5b6b63);
  font-size: 1rem;
}

.bp-esc-locacao__cta {
  white-space: nowrap;
}

.bp-esc-locacao__grid {
  position: relative;
  z-index: 1;
}

.bp-esc-locacao-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--bp-card, #fff);
  border: 1px solid rgba(15, 109, 53, .12);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(8, 53, 28, .08);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.bp-esc-locacao-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 44px rgba(8, 53, 28, .14);
  border-color: rgba(15, 109, 53, .28);
}

.bp-esc-locacao-card__media {
  position: relative;
  display: block;
  text-decoration: none;
  overflow: hidden;
}

.bp-esc-locacao-card__cover {
  position: relative;
  aspect-ratio: 16 / 10;
  min-height: 180px;
  background-color: var(--bp-green, #0f6d35);
  background-size: cover;
  background-position: center;
  transition: transform .45s ease;
}

.bp-esc-locacao-card:hover .bp-esc-locacao-card__cover {
  transform: scale(1.06);
}

.bp-esc-locacao-card__cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .05) 20%, rgba(6, 42, 21, .55) 100%);
  pointer-events: none;
}

.bp-esc-locacao-card__badge {
  position: absolute;
  left: .85rem;
  bottom: .85rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .4rem .75rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .94);
  color: var(--bp-green, #0f6d35);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .01em;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
  backdrop-filter: blur(6px);
}

.bp-esc-locacao-card__badge i {
  font-size: .72rem;
}

.bp-esc-locacao-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: .55rem;
  padding: 1.15rem 1.2rem 1.25rem;
}

.bp-esc-locacao-card__titulo {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 900;
  line-height: 1.25;
  color: var(--bp-text, #173122);
}

.bp-esc-locacao-card__meta {
  margin: 0;
  flex: 1;
  color: var(--bp-muted, #5b6b63);
  font-size: .92rem;
  line-height: 1.45;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bp-esc-locacao-card__link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: .35rem;
  align-self: flex-start;
  padding: .55rem .95rem;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(15, 109, 53, .1), rgba(166, 239, 96, .22));
  border: 1px solid rgba(15, 109, 53, .14);
  color: var(--bp-green, #0f6d35);
  font-size: .88rem;
  font-weight: 800;
  text-decoration: none;
  transition: background .22s ease, color .22s ease, border-color .22s ease, gap .22s ease;
}

.bp-esc-locacao-card__link:hover,
.bp-esc-locacao-card__link:focus-visible {
  background: linear-gradient(135deg, var(--bp-green, #0f6d35), #2b9653);
  border-color: var(--bp-green, #0f6d35);
  color: #fff;
  gap: .65rem;
}

.bp-esc-locacao-card__link i {
  font-size: .75rem;
  transition: transform .22s ease;
}

.bp-esc-locacao-card__link:hover i,
.bp-esc-locacao-card__link:focus-visible i {
  transform: translateX(2px);
}

@media (min-width: 768px) {
  .bp-esc-locacao {
    padding: 2rem 1.75rem 1.75rem;
  }

  .bp-esc-locacao-card__cover {
    min-height: 200px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bp-esc-locacao-card,
  .bp-esc-locacao-card__cover,
  .bp-esc-locacao-card__link,
  .bp-esc-locacao-card__link i {
    transition: none;
  }

  .bp-esc-locacao-card:hover {
    transform: none;
  }

  .bp-esc-locacao-card:hover .bp-esc-locacao-card__cover {
    transform: none;
  }
}

.bp-esc-parceiros {
  margin: 2rem 0 2.5rem;
  padding: 1.75rem 1.25rem 1.5rem;
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(15, 109, 53, .06) 0%, rgba(255, 255, 255, .95) 42%, rgba(166, 239, 96, .12) 100%);
  border: 1px solid rgba(15, 109, 53, .12);
}

.bp-esc-parceiros__intro {
  margin-bottom: 1.35rem;
}

.bp-esc-parceiros__intro .section-subtitle {
  max-width: 36rem;
  color: var(--bp-muted, #5b6b63);
  font-size: 1rem;
}

.bp-esc-parceiros__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
}

.bp-esc-parceiro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .65rem;
  padding: 1rem .85rem .9rem;
  text-decoration: none;
  color: inherit;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(15, 109, 53, .1);
  border-radius: 18px;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

a.bp-esc-parceiro:hover,
a.bp-esc-parceiro:focus-visible {
  color: inherit;
  border-color: rgba(15, 109, 53, .35);
  box-shadow: 0 10px 28px rgba(11, 42, 24, .1);
  transform: translateY(-2px);
  outline: none;
}

.bp-esc-parceiro__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 4.5rem;
  padding: .35rem;
}

.bp-esc-parceiro__logo img {
  display: block;
  max-width: 100%;
  max-height: 4.25rem;
  width: auto;
  height: auto;
  object-fit: contain;
}

.bp-esc-parceiro__fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 4.25rem;
  padding: .5rem;
  border-radius: 14px;
  background: #fff;
  border: 1px dashed rgba(15, 109, 53, .18);
  color: #7a9283;
  font-size: .85rem;
  font-weight: 800;
  text-align: center;
  line-height: 1.25;
}

.bp-esc-parceiro__nome {
  display: block;
  font-size: .88rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  color: #123524;
}

@media (min-width: 576px) {
  .bp-esc-parceiros {
    padding: 2rem 1.75rem 1.75rem;
  }

  .bp-esc-parceiros__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
}

@media (min-width: 992px) {
  .bp-esc-parceiros__grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }

  .bp-esc-parceiro__logo {
    min-height: 5rem;
  }

  .bp-esc-parceiro__logo img {
    max-height: 4.75rem;
  }
}

.bp-escolinha__galeria {
  margin-top: 1.5rem;
  margin-bottom: 2rem;
}

.bp-esc-blog {
  margin: 2rem 0 2.5rem;
}

.bp-esc-blog .section-subtitle {
  max-width: 40rem;
  color: var(--bp-muted, #5b6b63);
  font-size: 1rem;
}

.bp-escolinha__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.5rem;
  padding-top: .5rem;
}

.bp-escolinha__localizacao {
  background: #f4f7f5;
  border-top: 1px solid rgba(15, 109, 53, .08);
}

.bp-escolinha__local-info {
  margin-top: 0;
  padding-top: 2.4rem;
  padding-bottom: 1.4rem;
}

.bp-escolinha__endereco {
  margin: 0 0 1rem;
  max-width: 42rem;
  color: var(--bp-muted, #5b6b63);
  font-size: 1.02rem;
  line-height: 1.55;
}

.bp-escolinha__local-contatos {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  margin-bottom: .25rem;
}

.bp-escolinha__local-contatos a {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--bp-green, #0f6d35);
  font-weight: 700;
  text-decoration: none;
}

.bp-escolinha__local-contatos a:hover {
  text-decoration: underline;
}

.bp-escolinha__local-redes {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .55rem;
  margin-top: 1.15rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(15, 109, 53, .1);
}

.bp-escolinha__local-redes-titulo {
  margin: 0;
  font-size: .92rem;
  font-weight: 700;
  color: var(--bp-text, #173122);
}

.bp-esc-local-social .bp-esc-social__link {
  width: 2.35rem;
  height: 2.35rem;
  color: var(--bp-green, #0f6d35);
  background: rgba(15, 109, 53, .08);
  border: 1px solid rgba(15, 109, 53, .16);
}

.bp-esc-local-social .bp-esc-social__link:hover,
.bp-esc-local-social .bp-esc-social__link:focus-visible {
  color: #fff;
  background: var(--bp-green, #0f6d35);
  border-color: var(--bp-green, #0f6d35);
}

.bp-escolinha__mapa {
  width: 100%;
  line-height: 0;
  background: #d9e2dc;
}

.bp-escolinha__mapa iframe {
  display: block;
  width: 100%;
  height: clamp(280px, 42vw, 450px);
  border: 0;
}

@media (max-width: 767.98px) {
  .bp-escolinha__hero-content {
    padding-top: 5rem;
    padding-bottom: 1.75rem;
  }

  .bp-escolinha__titulo {
    max-width: none;
  }

  .bp-escolinha__logo {
    width: 64px;
    height: 64px;
  }
}

/* Topo dedicado do mini-site da escolinha (/escolinha/{urli}/*) */
body.is-escolinha {
  --bp-navbar-offset: 92px;
}

body.is-escolinha:has(.bp-esc-topo--com-redes) {
  --bp-navbar-offset: 128px;
}

.bp-esc-topo.navbar-custom {
  background:
    linear-gradient(180deg, rgba(6, 42, 21, .97) 0%, rgba(8, 53, 28, .94) 42%, rgba(15, 109, 53, .92) 100%);
  border-bottom: 1px solid rgba(166, 239, 96, .18);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
}

.bp-esc-topo.navbar-custom.navbar-scrolled {
  background:
    linear-gradient(180deg, rgba(6, 42, 21, .98) 0%, rgba(8, 53, 28, .96) 55%, rgba(12, 90, 44, .94) 100%);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
  border-bottom-color: rgba(166, 239, 96, .28);
}

.bp-esc-topo .bp-esc-topo__wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
}

.bp-esc-topo__bar-social {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  padding: .35rem 0 .2rem;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.bp-esc-topo .bp-esc-topo__shell {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  padding: .55rem 0;
}

.bp-esc-topo__brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: .8rem;
  margin-right: auto;
  padding: .2rem 0;
  max-width: min(42vw, 280px);
  transform: none;
  text-decoration: none;
}

#mainNav.bp-esc-topo.logo-shrink .bp-esc-topo__brand {
  transform: none;
}

.bp-esc-topo__logo,
.bp-esc-topo__brand img.bp-esc-topo__logo {
  display: block;
  flex-shrink: 0;
  width: 54px;
  height: 54px;
  max-width: 54px;
  object-fit: contain;
  border-radius: 14px;
  background: rgba(255, 255, 255, .96);
  padding: .28rem;
  border: 1px solid rgba(255, 255, 255, .35);
  box-shadow:
    0 0 0 1px rgba(166, 239, 96, .2),
    0 6px 16px rgba(0, 0, 0, .22);
  transition: box-shadow .25s ease, transform .25s ease;
}

.bp-esc-topo__brand:hover .bp-esc-topo__logo,
.bp-esc-topo__brand:focus-visible .bp-esc-topo__logo {
  transform: translateY(-1px);
  box-shadow:
    0 0 0 1px rgba(166, 239, 96, .4),
    0 8px 18px rgba(0, 0, 0, .26);
}

.bp-esc-topo__nome {
  font-size: clamp(.95rem, 1.8vw, 1.15rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .01em;
  color: #fff;
  max-width: 16ch;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}

.bp-esc-topo__collapse {
  flex-grow: 1;
  align-items: center;
}

.bp-esc-topo__nav {
  align-items: center;
  gap: .15rem;
  margin-left: auto;
}

.bp-esc-topo__nav .nav-link {
  position: relative;
  padding: .55rem .72rem;
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: .01em;
  color: rgba(255, 255, 255, .86) !important;
  border-radius: 999px;
  transition: color .2s ease, background .2s ease;
}

.bp-esc-topo__nav .nav-link:hover,
.bp-esc-topo__nav .nav-link:focus-visible {
  color: #fff !important;
  background: rgba(255, 255, 255, .1);
  outline: none;
}

.bp-esc-topo__nav .nav-link.active {
  color: #fff !important;
  background: rgba(166, 239, 96, .14);
}

.bp-esc-topo__nav .nav-link.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: .18rem;
  width: 1.1rem;
  height: 2px;
  background: var(--bp-lime, #a6ef60);
  border-radius: 2px;
  transform: translateX(-50%);
}

.bp-esc-topo__nav .bp-esc-topo__login {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin-left: .45rem;
  padding: .48rem 1rem !important;
  border-radius: 999px;
  font-weight: 800;
  color: #0b1f14 !important;
  background: linear-gradient(135deg, var(--bp-lime, #a6ef60), var(--bp-gold, #d8ff84));
  border: 1px solid rgba(166, 239, 96, .95);
  box-shadow: 0 6px 16px rgba(166, 239, 96, .28);
  transition: background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.bp-esc-topo__nav .bp-esc-topo__login:hover,
.bp-esc-topo__nav .bp-esc-topo__login:focus-visible {
  color: #062010 !important;
  background: #fff;
  box-shadow: 0 8px 18px rgba(166, 239, 96, .35);
  outline: none;
  transform: translateY(-1px);
}

.bp-esc-topo__nav .bp-esc-topo__login.active {
  color: #062010 !important;
  background: #fff;
}

.bp-esc-topo__nav .bp-esc-topo__login.active::after {
  display: none;
}

.bp-esc-topo__nav .bp-esc-topo__login i {
  font-size: 1.05em;
}

.bp-esc-topo__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .55rem .7rem;
  margin-left: .85rem;
  padding-left: .85rem;
  border-left: 1px solid rgba(255, 255, 255, .16);
}

/* Redes sociais da unidade (topo / contato / rodapé) */
.bp-esc-social {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bp-esc-social__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  color: inherit;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}

.bp-esc-social__link:hover,
.bp-esc-social__link:focus-visible {
  outline: none;
  transform: translateY(-1px);
}

.bp-esc-social__link i {
  font-size: 1rem;
  line-height: 1;
}

.bp-esc-topo__social .bp-esc-social__link {
  width: 1.9rem;
  height: 1.9rem;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .22);
}

.bp-esc-topo__social .bp-esc-social__link i {
  font-size: .9rem;
}

.bp-esc-topo__social .bp-esc-social__link:hover,
.bp-esc-topo__social .bp-esc-social__link:focus-visible {
  color: var(--bp-green-dark, #08351c);
  background: #fff;
  border-color: #fff;
}

.bp-esc-rodape-social {
  margin-top: 1rem;
}

.bp-esc-rodape-social .bp-esc-social__link {
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .22);
}

.bp-esc-rodape-social .bp-esc-social__link:hover,
.bp-esc-rodape-social .bp-esc-social__link:focus-visible {
  color: var(--bp-green-dark, #08351c);
  background: var(--bp-lime, #a6ef60);
  border-color: var(--bp-lime, #a6ef60);
}

.bp-esc-contato-redes {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .65rem;
}

.bp-esc-contato-redes__titulo {
  margin: 0;
  font-size: .95rem;
  font-weight: 700;
  color: var(--bp-text, #173122);
}

.bp-esc-contato-social .bp-esc-social__link {
  width: 2.5rem;
  height: 2.5rem;
  color: var(--bp-green, #0f6d35);
  background: rgba(15, 109, 53, .08);
  border: 1px solid rgba(15, 109, 53, .16);
}

.bp-esc-contato-social .bp-esc-social__link:hover,
.bp-esc-contato-social .bp-esc-social__link:focus-visible {
  color: #fff;
  background: var(--bp-green, #0f6d35);
  border-color: var(--bp-green, #0f6d35);
}

.bp-esc-contato-social .bp-esc-social__link i {
  font-size: 1.1rem;
}

.bp-esc-topo__whats.btn-whats {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .42rem .9rem;
  font-size: .84rem;
  font-weight: 700;
  color: #fff !important;
  background: rgba(37, 211, 102, .22);
  border: 1px solid rgba(37, 211, 102, .45);
  box-shadow: none;
}

.bp-esc-topo__whats.btn-whats:hover,
.bp-esc-topo__whats.btn-whats:focus-visible {
  color: var(--bp-green-dark, #08351c) !important;
  background: #fff !important;
  border-color: #fff;
  outline: none;
  transform: translateY(-1px);
}

.bp-esc-topo__hub {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .4rem .8rem;
  color: rgba(255, 255, 255, .9);
  font-weight: 600;
  font-size: .84rem;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .06);
  transition: color .2s ease, background .2s ease, border-color .2s ease;
}

.bp-esc-topo__hub:hover,
.bp-esc-topo__hub:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, .14);
  border-color: rgba(255, 255, 255, .4);
  text-decoration: none;
  outline: none;
}

.bp-esc-topo__toggler.navbar-toggler {
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 10px;
  padding: .42rem .58rem;
  background: rgba(255, 255, 255, .06);
}

.bp-esc-topo__toggler.navbar-toggler:focus {
  box-shadow: 0 0 0 .2rem rgba(166, 239, 96, .35);
}

@media (min-width: 992px) {
  .bp-esc-topo__collapse {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 0;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .bp-esc-topo__nome {
    max-width: 12ch;
    font-size: .98rem;
  }

  .bp-esc-topo__nav .nav-link {
    padding: .48rem .5rem;
    font-size: .86rem;
  }

  .bp-esc-topo__nav .bp-esc-topo__login {
    margin-left: .2rem;
    padding: .42rem .75rem !important;
  }

  .bp-esc-topo__actions {
    margin-left: .55rem;
    padding-left: .55rem;
    gap: .45rem;
  }

  .bp-esc-topo__whats.btn-whats,
  .bp-esc-topo__hub {
    padding: .36rem .7rem;
    font-size: .78rem;
  }

  .bp-esc-topo__whats.btn-whats span,
  .bp-esc-topo__hub span {
    max-width: 11ch;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

/* Faixa de título das subpáginas */
.bp-esc-faixa {
  background:
    linear-gradient(135deg, rgba(6, 42, 21, .92) 0%, rgba(15, 109, 53, .88) 100%),
    linear-gradient(180deg, #08351c, #0f6d35);
  color: #fff;
  padding: calc(var(--bp-navbar-offset) + 1.75rem) 0 1.75rem;
}

.bp-esc-faixa__inner {
  max-width: 52rem;
}

.bp-esc-faixa__unidade {
  margin: 0 0 .35rem;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: .85;
}

.bp-esc-faixa__titulo {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.15rem);
  font-weight: 900;
  line-height: 1.15;
  color: #fff;
}

/* Conteúdo das subpáginas (após a faixa) */
body.is-escolinha section[id^="escolinha-"].section-space.pt-0 {
  padding-top: 2.25rem !important;
  padding-bottom: 3rem;
}

/* Links internos do mini-site (ex.: Contato, Agenda) */
.bp-esc-link,
body.is-escolinha .page-content a:not(.btn):not(.bp-esc-chamada) {
  color: var(--bp-green, #0f6d35);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
  text-decoration-color: rgba(15, 109, 53, .35);
  transition: color .2s ease, text-decoration-color .2s ease;
}

.bp-esc-link:hover,
.bp-esc-link:focus-visible,
body.is-escolinha .page-content a:not(.btn):not(.bp-esc-chamada):hover,
body.is-escolinha .page-content a:not(.btn):not(.bp-esc-chamada):focus-visible {
  color: var(--bp-green-dark, #08351c);
  text-decoration-color: var(--bp-green-dark, #08351c);
  outline: none;
}

/* Cards de contato (telefone / e-mail / endereço) */
.bp-esc-info {
  margin-bottom: 2rem;
}

.bp-esc-info__card {
  height: 100%;
  padding: 1.15rem 1.1rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(244, 247, 245, .96) 100%);
  border: 1px solid rgba(15, 109, 53, .12);
  border-radius: 16px;
}

.bp-esc-info__label {
  margin: 0 0 .4rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--bp-muted, #5b6b63);
}

.bp-esc-info__label i {
  color: var(--bp-green, #0f6d35);
}

.bp-esc-info__valor {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.45;
  color: var(--bp-text, #173122);
}

.bp-esc-info__valor a {
  color: var(--bp-green, #0f6d35);
  text-decoration: none;
  font-weight: 700;
}

.bp-esc-info__valor a:hover,
.bp-esc-info__valor a:focus-visible {
  text-decoration: underline;
  outline: none;
}

/* Forms do mini-site reutilizam .bp-form / .bp-contato */
body.is-escolinha .bp-auth.bp-contato {
  max-width: 44rem;
}

@media (max-width: 991.98px) {
  body.is-escolinha {
    --bp-navbar-offset: 78px;
  }

  body.is-escolinha:has(.bp-esc-topo--com-redes) {
    --bp-navbar-offset: 112px;
  }

  .bp-esc-topo__bar-social {
    padding: .3rem 0 .15rem;
  }

  .bp-esc-topo .bp-esc-topo__shell {
    flex-wrap: nowrap;
    padding: .4rem 0;
  }

  .bp-esc-topo__brand {
    max-width: calc(100% - 3.5rem);
  }

  .bp-esc-topo__nome {
    max-width: 14ch;
  }

  .bp-esc-topo__collapse {
    flex-basis: 100%;
    width: 100%;
    margin-top: .35rem;
  }

  .bp-esc-topo__collapse.show,
  .bp-esc-topo__collapse.collapsing {
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: .35rem;
  }

  .bp-esc-topo__nav {
    margin-left: 0;
    width: 100%;
    gap: 0;
    padding: .25rem 0 .15rem;
  }

  .bp-esc-topo__nav .nav-link {
    padding: .78rem .2rem;
    border-radius: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
  }

  .bp-esc-topo__nav .nav-link:hover,
  .bp-esc-topo__nav .nav-link:focus-visible {
    background: transparent;
    color: var(--bp-lime, #a6ef60) !important;
  }

  .bp-esc-topo__nav .nav-link.active {
    background: transparent;
    color: var(--bp-lime, #a6ef60) !important;
  }

  .bp-esc-topo__nav .nav-link.active::after {
    display: none;
  }

  .bp-esc-topo__nav .bp-esc-topo__login,
  .bp-esc-topo__nav .bp-esc-topo__login.active {
    margin: .75rem 0 .35rem;
    justify-content: center;
    width: 100%;
    border-bottom: none !important;
    color: #0b1f14 !important;
  }

  .bp-esc-topo__nav .bp-esc-topo__login:hover,
  .bp-esc-topo__nav .bp-esc-topo__login:focus-visible {
    color: #062010 !important;
    transform: none;
  }

  .bp-esc-topo__actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: .65rem;
    margin: .55rem 0 .35rem;
    padding: .85rem 0 0;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .14);
  }

  .bp-esc-topo__whats.btn-whats,
  .bp-esc-topo__hub {
    width: 100%;
    justify-content: center;
    padding: .7rem 1rem;
    font-size: .92rem;
  }

  .bp-esc-faixa {
    padding: calc(var(--bp-navbar-offset) + 1.35rem) 0 1.35rem;
  }

  body.is-escolinha section[id^="escolinha-"].section-space.pt-0 {
    padding-top: 1.75rem !important;
    padding-bottom: 2.5rem;
  }
}

@media (max-width: 1199.98px) {
  :root {
    --bp-navbar-offset: 132px;
  }

  body.is-escolinha {
    --bp-navbar-offset: 76px;
  }

  body.is-escolinha:has(.bp-esc-topo--com-redes) {
    --bp-navbar-offset: 110px;
  }

  /* .navbar-shell zera o padding lateral do .container; no mobile o menu ocupa a faixa inteira e precisa da calha */
  .navbar > .container.navbar-shell {
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    row-gap: 0;
    padding: .55rem 1rem;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
  }

  /* no mobile o shrink visual cola a logo no topo e “come” altura — manter estável ao rolar */
  #mainNav.logo-shrink .navbar-brand {
    transform: none;
  }

  .navbar-brand {
    padding: .35rem 0;
    max-width: min(46vw, 180px);
    min-width: 0;
  }

  .navbar-brand img {
    max-width: 100%;
    height: auto;
    max-height: 58px;
  }

  .navbar-brand .tagline-script {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .bp-esc-topo__brand.navbar-brand {
    padding-top: .2rem;
    max-width: none;
  }

  /* Logo + Área do aluno + toggler na primeira faixa; o menu abre em largura total abaixo */
  .navbar-shell .navbar-content,
  .navbar-content .navbar-main-row {
    display: contents !important;
  }

  .navbar-content .top-actions {
    width: auto !important;
    flex: 1 1 0;
    flex-wrap: nowrap;
    min-width: 0;
    min-height: 0;
    padding-top: .25rem;
    padding-bottom: .25rem;
    border-bottom: none;
    justify-content: flex-end;
  }

  .navbar-toggler {
    flex: 0 0 auto;
  }

  .top-actions__aluno.btn-login {
    padding: .52rem .85rem;
    font-size: .85rem;
    white-space: nowrap;
  }

  .top-actions .btn:hover,
  .top-actions .btn:focus-visible {
    transform: none;
  }

  /* altura reservada fixa: --bp-navbar-offset é recalculado pelo JS com o menu aberto e cortaria a lista */
  .navbar-content .navbar-main-row .navbar-collapse {
    flex: 1 0 100%;
    width: 100%;
    max-width: 100%;
    margin-top: .45rem;
    padding: .55rem .75rem .75rem;
    border-top: 1px solid rgba(255,255,255,.2);
    max-height: calc(100vh - 10rem);
    max-height: calc(100dvh - 10rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    box-sizing: border-box;
  }

  .navbar-content .navbar-nav .nav-link {
    padding-left: .85rem;
    padding-right: .85rem;
  }

  .top-actions-mobile {
    width: 100%;
    margin-top: .35rem;
    padding: .85rem .5rem .25rem;
    border-top: 1px solid rgba(255,255,255,.16);
    box-sizing: border-box;
  }

  .top-actions-mobile .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: .7rem 1rem;
    font-size: .9rem;
  }

  /* botão full-width: escala no hover geraria scroll horizontal dentro do collapse */
  .top-actions-mobile .btn:hover {
    transform: none;
  }
}

@media (max-width: 575.98px) {
  :root {
    --bp-navbar-offset: 108px;
  }

  body.is-escolinha {
    --bp-navbar-offset: 74px;
  }

  body.is-escolinha:has(.bp-esc-topo--com-redes) {
    --bp-navbar-offset: 108px;
  }

  .navbar > .container.navbar-shell {
    padding: .5rem .85rem;
    gap: .4rem;
  }

  /* Logo acompanha a largura do telefone para caber logo + Área do aluno + toggler na mesma faixa */
  .navbar-brand {
    max-width: min(40vw, 150px);
  }

  .navbar-brand img {
    height: auto;
    max-height: clamp(40px, 12vw, 52px);
    max-width: 100%;
  }

  .top-actions__aluno.btn-login {
    padding: .42rem .65rem;
    font-size: .76rem;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    max-width: 9.5rem;
  }

  .top-actions-mobile {
    padding-left: .35rem;
    padding-right: .35rem;
  }

  .top-actions-mobile .btn {
    padding: .62rem .85rem;
    font-size: .86rem;
  }

  .navbar-content .navbar-main-row .navbar-collapse {
    max-height: calc(100vh - 7.5rem);
    max-height: calc(100dvh - 7.5rem);
    padding-left: .55rem;
    padding-right: .55rem;
  }

  .bp-esc-topo__brand img.bp-esc-topo__logo {
    width: 44px;
    height: 44px;
    max-width: 44px;
    border-radius: 12px;
  }

  .bp-esc-topo__nome {
    max-width: 11ch;
    font-size: .92rem;
  }

  .navbar-brand .tagline-script {
    font-size: clamp(.8rem, 3.6vw, 1rem);
  }

  .navbar-shell {
    gap: .4rem;
  }

  .footer-brand-logo {
    height: 72px;
    max-width: 260px;
  }

  .footer-brand-card {
    padding: 1.35rem 1.1rem;
  }

  .footer-brand-tagline {
    font-size: 1.1rem;
  }

  .footer-nav-title {
    font-size: .88rem;
    margin-bottom: .85rem;
    padding-bottom: .55rem;
  }

  .whatsapp-float {
    right: 1rem;
    bottom: 1rem;
    width: 52px;
    height: 52px;
    font-size: 1.65rem;
  }
}

@media (max-width: 991.98px) {
  .footer-brand-card {
    max-width: 22rem;
    margin: 0 auto;
  }

  .hero { min-height: auto; }
  .hero-content { padding-top: 150px; padding-bottom: 72px; }
  .section-space { padding: 74px 0; }
  .blog-hero-card { min-height: 520px; }
  .blog-hero-title,
  .blog-hero-text { max-width: 100%; }
  .blog-full-banner .banner-inner { flex-direction: column; align-items: flex-start; }
  .blog-side-card { min-height: auto; }
}

/* Páginas internas carregadas via verPaginas.php */
.bp-page {
  width: 100%;
  padding-top: calc(var(--bp-navbar-offset) + 2rem);
  padding-bottom: clamp(3rem, 6vw, 5.75rem);
}

.bp-page__header {
  margin-bottom: 2rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--bp-border);
}

.bp-page--center {
  text-align: center;
}

.bp-page--center .section-subtitle {
  max-width: 640px;
}

/* Visão de detalhe/pós-jogo (campeonatos/amistosos): só o conteúdo do módulo. */
.bp-page--detalhe .page-extra {
  margin-top: 0;
}

.bp-page .page-content {
  width: 100%;
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--bp-text);
}

.bp-page .page-content html,
.bp-page .page-content body {
  display: contents;
}

.bp-page .page-content > h2:first-of-type,
.bp-page .page-content body > h2:first-of-type {
  font-size: clamp(1.45rem, 2.8vw, 2rem);
  line-height: 1.25;
  font-weight: 900;
  color: var(--bp-green-dark);
  margin: 0 0 1.35rem;
  padding-bottom: 1.15rem;
  border-bottom: 2px solid rgba(15, 109, 53, .12);
}

.bp-page .page-content h2:not(:first-of-type) {
  position: relative;
  font-size: clamp(1.25rem, 2.2vw, 1.65rem);
  line-height: 1.28;
  font-weight: 900;
  color: var(--bp-green);
  margin: 2.5rem 0 1rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(15, 109, 53, .10);
}

.bp-page .page-content h2:not(:first-of-type)::before {
  content: "";
}

.bp-page .page-content h3:not(:last-of-type) {
  margin: 1.35rem 0 0;
  padding: 1rem 1.2rem .4rem;
  border-radius: 16px 16px 0 0;
  background: linear-gradient(135deg, rgba(15, 109, 53, .06), rgba(166, 239, 96, .10));
  border: 1px solid rgba(15, 109, 53, .10);
  border-bottom: none;
  font-size: clamp(1.02rem, 1.6vw, 1.15rem);
  line-height: 1.35;
  font-weight: 800;
  color: var(--bp-green-dark);
}

.bp-page .page-content h3:not(:last-of-type) + p {
  margin: 0 0 1rem;
  padding: 0 1.2rem 1rem;
  border-radius: 0 0 16px 16px;
  background: linear-gradient(135deg, rgba(15, 109, 53, .06), rgba(166, 239, 96, .10));
  border: 1px solid rgba(15, 109, 53, .10);
  border-top: none;
  color: var(--bp-muted);
}

.bp-page .page-content h3:not(:last-of-type) + p.isSelectedEnd {
  padding-left: 1.2rem;
  border-left: none;
  color: var(--bp-muted);
}

.bp-page .page-content h3:last-of-type {
  margin: 2.25rem 0 1.25rem;
  padding: 1.35rem 1.5rem;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(15, 109, 53, .08), rgba(166, 239, 96, .16));
  border: 1px solid rgba(15, 109, 53, .12);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  line-height: 1.45;
  font-weight: 800;
  color: var(--bp-green-dark);
}

.bp-page .page-content p {
  margin: 0 0 1.1rem;
  color: var(--bp-muted);
}

.bp-page .page-content p:last-child {
  margin-bottom: 0;
}

.bp-page .page-content p.isSelectedEnd {

}

.bp-page .page-content h3 + p:last-child {
  display: inline-flex;
  align-items: center;
  margin-top: 1.5rem;
  padding: .55rem 1rem;
  border-radius: 999px;
  background: rgba(15, 109, 53, .08);
  border: 1px solid rgba(15, 109, 53, .10);
  color: var(--bp-green);
  font-weight: 800;
  font-size: .95rem;
  letter-spacing: .02em;
}

.bp-page .page-content a {
  color: var(--bp-green);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.bp-page .page-content a:hover {
  color: var(--bp-green-dark);
}

.bp-page .page-content ul,
.bp-page .page-content ol {
  margin: 0 0 1.25rem;
  padding-left: 1.35rem;
  color: var(--bp-muted);
}

.bp-page .page-content li + li {
  margin-top: .45rem;
}

.bp-page .page-content img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1.5rem auto;
  border-radius: 20px;
  border: 1px solid var(--bp-border);
  box-shadow: 0 10px 24px rgba(8, 53, 28, .08);
}

.bp-page .page-content blockquote {
  margin: 1.5rem 0;
  padding: 1.1rem 1.25rem;
  border-left: 4px solid var(--bp-green);
  border-radius: 0 16px 16px 0;
  background: rgba(15, 109, 53, .05);
  color: var(--bp-text);
  font-style: italic;
}

.bp-page .page-content table {
  width: 100%;
  margin: 1.5rem 0;
  border-collapse: collapse;
  border: 1px solid var(--bp-border);
  border-radius: 16px;
  overflow: hidden;
}

.bp-page .page-content th,
.bp-page .page-content td {
  padding: .75rem 1rem;
  border-bottom: 1px solid var(--bp-border);
  text-align: left;
}

.bp-page .page-content th {
  background: rgba(15, 109, 53, .08);
  color: var(--bp-green-dark);
  font-weight: 800;
}

.bp-page .page-extra {
  width: 100%;
  margin-top: 2rem;
}

@media (max-width: 767.98px) {
  .bp-page {
    padding-top: calc(var(--bp-navbar-offset) + 1.25rem);
  }

  .bp-page .page-content {
    font-size: 1rem;
  }

  .bp-page .page-content h2:not(:first-of-type) {
    margin-top: 2rem;
    padding-top: 1.5rem;
  }

  .bp-page .page-content h3:last-of-type {
    padding: 1.1rem 1.15rem;
  }

  .bp-page .page-content h3:not(:last-of-type) {
    padding: .85rem 1rem .35rem;
  }

  .bp-page .page-content h3:not(:last-of-type) + p {
    padding: 0 1rem .85rem;
  }

  .bp-page .page-content h3:not(:last-of-type) + p.isSelectedEnd {
    padding-left: 1rem;
  }

  .bp-page .page-content p.isSelectedEnd {
    padding-left: .8rem;
  }
}

/* ============================================================
   Formulários (#boraprofut) — bp-form / bp-auth
   ============================================================ */

.bp-auth {
  width: 100%;
  max-width: none;
  margin: 0;
}

.bp-auth__card {
  background: var(--bp-card);
  border: 1px solid var(--bp-border);
  border-radius: 20px;
  box-shadow: var(--bp-shadow);
  padding: 1.75rem 1.85rem 2rem;
}

.bp-auth__header {
  margin-bottom: 1.35rem;
}

.bp-auth__title {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--bp-green-dark);
  margin: 0 0 .45rem;
}

.bp-auth__subtitle {
  margin: 0;
  color: var(--bp-muted);
  font-size: .95rem;
  line-height: 1.55;
}

.bp-form__group {
  margin-bottom: 1rem;
}

.bp-form__label {
  display: block;
  margin-bottom: .4rem;
  font-size: .88rem;
  font-weight: 700;
  color: var(--bp-text);
}

.bp-form__required {
  color: #c0392b;
}

.bp-form__control {
  display: block;
  width: 100%;
  padding: .78rem 1rem;
  font-size: .96rem;
  line-height: 1.45;
  color: var(--bp-text);
  background: #fff;
  border: 1px solid rgba(15, 109, 53, .18);
  border-radius: 12px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.bp-form__control:focus {
  outline: none;
  border-color: var(--bp-green);
  box-shadow: 0 0 0 3px rgba(15, 109, 53, .12);
}

.bp-form__control.is-invalid {
  border-color: #e74c3c;
}

.bp-form__control.is-valid {
  border-color: var(--bp-green);
  box-shadow: 0 0 0 3px rgba(15, 109, 53, .08);
}

.bp-form__control:disabled {
  background: #f3f6f4;
  cursor: not-allowed;
  opacity: .75;
}

.bp-form__password-wrap {
  position: relative;
}

.bp-form__password-wrap .bp-form__control {
  padding-right: 3rem;
}

.bp-form__toggle-senha {
  position: absolute;
  top: 50%;
  right: .55rem;
  transform: translateY(-50%);
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  border-radius: 10px;
  background: rgba(15, 109, 53, .08);
  color: var(--bp-green);
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}

.bp-form__toggle-senha:hover,
.bp-form__toggle-senha:focus {
  background: rgba(15, 109, 53, .14);
  color: var(--bp-green-dark);
  outline: none;
}

.bp-form__feedback {
  min-height: 1.1rem;
  margin-top: .35rem;
  font-size: .8rem;
  color: #c0392b;
}

.bp-form__hint {
  margin: 0 0 1rem;
  font-size: .82rem;
  line-height: 1.5;
  color: var(--bp-muted);
}

.bp-form__link {
  border: none;
  background: none;
  padding: 0;
  font-size: .88rem;
  font-weight: 700;
  color: var(--bp-green);
  text-decoration: underline;
  cursor: pointer;
}

.bp-form__link:hover {
  color: var(--bp-green-dark);
}

.bp-form__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.bp-form__submit {
  min-width: 10.5rem;
  border-radius: 999px !important;
  padding: .72rem 1.35rem !important;
  font-size: .92rem !important;
}

.bp-form__submit:disabled {
  opacity: .7;
  cursor: not-allowed;
}

.bp-form__submit.is-success {
  background: linear-gradient(135deg, #27ae60, #2ecc71) !important;
  color: #fff !important;
}

.bp-form__submit.is-danger {
  background: linear-gradient(135deg, #e74c3c, #c0392b) !important;
  color: #fff !important;
}

.bp-alert {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin-bottom: 1rem;
  padding: .75rem .9rem;
  border-radius: 12px;
  font-size: .86rem;
  line-height: 1.45;
}

.bp-alert--danger {
  background: rgba(231, 76, 60, .1);
  border: 1px solid rgba(231, 76, 60, .22);
  color: #a93226;
}

.bp-alert--warning {
  background: rgba(243, 156, 18, .12);
  border: 1px solid rgba(243, 156, 18, .25);
  color: #9a6700;
}

.bp-senha-seguranca {
  margin-bottom: .85rem;
  padding: .85rem .95rem;
  border: 1px solid rgba(15, 109, 53, .15);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(240, 248, 243, .98) 100%);
}

.bp-senha-seguranca.is-idle {
  opacity: .88;
}

.bp-senha-seguranca__topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .65rem;
  font-size: .78rem;
  font-weight: 600;
  color: var(--bp-muted);
}

.bp-senha-seguranca__topo i {
  margin-right: .35rem;
  color: var(--bp-green);
}

.bp-senha-status {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: .18rem .55rem;
  border-radius: 999px;
  background: #eef1f4;
  color: #6c757d;
}

.bp-senha-status.is-media {
  background: #fff4e5;
  color: #b36b00;
}

.bp-senha-status.is-forte {
  background: #e8f8ef;
  color: #1e7e45;
}

.bp-senha-segmentos {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .35rem;
  margin-bottom: .75rem;
}

.bp-senha-segmento {
  height: 4px;
  border-radius: 999px;
  background: #dde3ea;
  transition: background .25s ease;
}

.bp-senha-segmento.is-ativo.is-danger {
  background: #e74c3c;
}

.bp-senha-segmento.is-ativo.is-warning {
  background: #f39c12;
}

.bp-senha-segmento.is-ativo.is-success {
  background: #27ae60;
}

.bp-senha-requisitos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .35rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.bp-senha-requisitos li {
  display: flex;
  align-items: center;
  gap: .35rem;
  font-size: .72rem;
  line-height: 1.3;
  color: var(--bp-muted);
  padding: .28rem .4rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, .7);
}

.bp-senha-requisitos li#painelEscolinhaReqSequencia {
  grid-column: 1 / -1;
}

.bp-senha-requisitos li i {
  font-size: .68rem;
  flex-shrink: 0;
}

.bp-senha-requisitos li.is-ok {
  color: #1e7e45;
  background: rgba(39, 174, 96, .08);
}

.bp-senha-requisitos li.is-erro {
  color: #c0392b;
  background: rgba(231, 76, 60, .08);
}

/* Área do aluno — formulário dentro do campo de futebol */
.bp-auth--campo {
  position: relative;
  margin-top: .5rem;
  padding: 2.25rem 1.25rem 2.5rem;
  border-radius: 24px;
  background:
    linear-gradient(180deg, #0d5e31 0%, #0a4d27 55%, #084422 100%);
  overflow: hidden;
  box-shadow: 0 18px 42px rgba(8, 68, 34, .22);
}

.bp-auth--campo::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(255, 255, 255, .04) 0,
      rgba(255, 255, 255, .04) 2px,
      transparent 2px,
      transparent 56px
    );
  pointer-events: none;
}

.bp-auth__campo-markings {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .28;
}

.bp-auth__linha-central {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, .85);
}

.bp-auth__circulo-central {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 120px;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(255, 255, 255, .85);
  border-radius: 50%;
}

.bp-auth__area {
  position: absolute;
  top: 50%;
  width: 8%;
  height: 42%;
  transform: translateY(-50%);
  border: 2px solid rgba(255, 255, 255, .85);
  box-sizing: border-box;
}

.bp-auth__area--esq {
  left: 0;
  border-left: none;
}

.bp-auth__area--dir {
  right: 0;
  border-right: none;
}

.bp-auth__card--campo {
  position: relative;
  z-index: 2;
  max-width: 520px;
  margin: 0 auto;
  border-color: rgba(255, 255, 255, .22);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .18);
}

.bp-auth--campo .bp-auth__badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 0 0 .65rem;
  padding: .28rem .75rem;
  border-radius: 999px;
  background: rgba(15, 109, 53, .1);
  color: var(--bp-green-dark);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.bp-auth--campo .bp-auth__title {
  color: #0a4d27;
}

.bp-auth--campo .bp-form__hint {
  color: #5d7466;
}

.bp-senha-requisitos li#areaDoAlunoReqSequencia {
  grid-column: 1 / -1;
}

.bp-form__tipo-login {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem;
}

.bp-form__tipo-opcao {
  position: relative;
  margin: 0;
  cursor: pointer;
}

.bp-form__tipo-opcao input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.bp-form__tipo-opcao span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 2.65rem;
  padding: .55rem .75rem;
  border: 2px solid var(--bp-border);
  border-radius: 12px;
  background: #fff;
  color: var(--bp-muted);
  font-size: .86rem;
  font-weight: 700;
  text-align: center;
  transition: border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.bp-form__tipo-opcao input:checked + span,
.bp-form__tipo-opcao input:focus-visible + span {
  border-color: var(--wl-primary, var(--bp-green));
  background: rgba(0, 168, 89, .08);
  color: var(--bp-green-dark);
  box-shadow: 0 0 0 3px rgba(0, 168, 89, .14);
}

.bp-form__tipo-opcao input:disabled + span {
  opacity: .55;
  cursor: not-allowed;
}

.bp-login-transicao {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: transparent;
  pointer-events: all;
}

.bp-login-transicao__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 40, 22, .52);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.bp-login-transicao__cenario {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.bp-login-transicao__gramado {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(13, 94, 49, .78) 0%, rgba(8, 68, 34, .82) 55%, rgba(6, 52, 28, .85) 100%),
    repeating-linear-gradient(
      to bottom,
      rgba(255, 255, 255, .05) 0,
      rgba(255, 255, 255, .05) 2px,
      transparent 2px,
      transparent 56px
    );
  pointer-events: none;
}

.bp-login-transicao__faixa {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 3px;
  margin-top: -1px;
  background: rgba(255, 255, 255, .28);
  pointer-events: none;
}

.bp-login-transicao__gol {
  position: absolute;
  top: 50%;
  right: 7%;
  z-index: 1;
  width: 10.5rem;
  height: 6.75rem;
  margin-top: -5.75rem;
  pointer-events: none;
}

.bp-login-transicao__gol-poste {
  position: absolute;
  bottom: 0;
  width: 5px;
  height: 100%;
  border-radius: 2px;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 0 12px rgba(255, 255, 255, .25);
}

.bp-login-transicao__gol-poste--esq {
  left: 0;
}

.bp-login-transicao__gol-poste--dir {
  right: 0;
}

.bp-login-transicao__gol-travessao {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  border-radius: 2px;
  background: rgba(255, 255, 255, .95);
  box-shadow: 0 0 12px rgba(255, 255, 255, .25);
}

.bp-login-transicao__gol-rede {
  position: absolute;
  left: 5px;
  right: 5px;
  top: 5px;
  bottom: 0;
  border: 1px solid rgba(255, 255, 255, .22);
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, .08) 0,
      rgba(255, 255, 255, .08) 2px,
      transparent 2px,
      transparent 10px
    ),
    repeating-linear-gradient(
      45deg,
      rgba(255, 255, 255, .06) 0,
      rgba(255, 255, 255, .06) 2px,
      transparent 2px,
      transparent 10px
    );
  opacity: .85;
}

.bp-login-transicao__bola-wrap {
  position: absolute;
  top: 50%;
  left: -4.5rem;
  z-index: 3;
  width: 4.5rem;
  height: 4.5rem;
  margin-top: -2.25rem;
  transform: translateX(0);
  will-change: transform;
}

.bp-login-transicao__bola-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  transform-origin: center center;
}

.bp-login-transicao.is-rolando .bp-login-transicao__bola-inner {
  animation: bp-login-bola-giro 2.1s linear forwards;
}

.bp-login-transicao__bola {
  font-size: 4.5rem;
  line-height: 1;
  color: #fff;
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .28));
}

.bp-login-transicao__sombra {
  position: absolute;
  left: 50%;
  bottom: -.35rem;
  width: 3.2rem;
  height: .55rem;
  margin-left: -1.6rem;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(0, 0, 0, .34) 0%, rgba(0, 0, 0, 0) 72%);
  transform: scale(1);
  opacity: .42;
}

.bp-login-transicao__gol-texto {
  position: absolute;
  top: 22%;
  right: 14%;
  z-index: 4;
  margin: 0;
  color: #fff;
  font-size: clamp(2.4rem, 8vw, 4.25rem);
  font-weight: 900;
  font-style: italic;
  letter-spacing: .06em;
  line-height: 1;
  text-shadow:
    0 4px 0 rgba(0, 0, 0, .18),
    0 8px 28px rgba(0, 0, 0, .35);
  opacity: 0;
  transform: scale(.35) rotate(-8deg);
  pointer-events: none;
}

.bp-login-transicao__texto {
  position: absolute;
  bottom: 12%;
  left: 0;
  right: 0;
  z-index: 5;
  margin: 0;
  padding: 0 1rem;
  color: rgba(255, 255, 255, .95);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: .02em;
  text-align: center;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .35s ease, transform .35s ease;
}

.bp-login-transicao.is-rolando .bp-login-transicao__bola-wrap {
  animation: bp-login-bola-rolar-gol 2.1s cubic-bezier(.45, 0, .25, 1) forwards;
}

.bp-login-transicao.is-rolando .bp-login-transicao__sombra {
  animation: bp-login-bola-sombra 2.1s cubic-bezier(.45, 0, .25, 1) forwards;
}

.bp-login-transicao.is-gol .bp-login-transicao__bola-wrap {
  top: 50%;
  right: calc(7% + 3.25rem);
  left: auto;
  margin: 0;
  margin-top: -2.6rem;
  transform: translateX(0);
  animation: bp-login-bola-gol-zoom .85s cubic-bezier(.2, .9, .25, 1) forwards;
}

.bp-login-transicao.is-gol .bp-login-transicao__bola-inner {
  animation: none;
}

.bp-login-transicao.is-gol .bp-login-transicao__sombra {
  animation: bp-login-bola-sombra-gol .85s ease forwards;
}

.bp-login-transicao.is-gol .bp-login-transicao__gol-texto {
  animation: bp-login-gol-texto .7s cubic-bezier(.2, 1.15, .35, 1) .12s forwards;
}

.bp-login-transicao.is-gol .bp-login-transicao__texto,
.bp-login-transicao.is-saindo .bp-login-transicao__texto {
  opacity: 1;
  transform: translateY(0);
}

.bp-login-transicao.is-saindo {
  animation: bp-login-transicao-saida .45s ease forwards;
}

.bp-login-transicao.is-saindo .bp-login-transicao__backdrop {
  animation: bp-login-transicao-saida .45s ease forwards;
}

@keyframes bp-login-bola-rolar-gol {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(100vw - 7% - 10.5rem + 1.5rem));
  }
}

@keyframes bp-login-bola-giro {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(1260deg);
  }
}

@keyframes bp-login-bola-sombra {
  0%,
  100% {
    transform: scale(1);
    opacity: .42;
  }

  50% {
    transform: scale(.72);
    opacity: .24;
  }
}

@keyframes bp-login-bola-gol-zoom {
  from {
    transform: scale(1);
  }

  to {
    transform: scale(2.35);
  }
}

@keyframes bp-login-bola-sombra-gol {
  from {
    transform: scale(1);
    opacity: .42;
  }

  to {
    transform: scale(1.6);
    opacity: .1;
  }
}

@keyframes bp-login-gol-texto {
  0% {
    opacity: 0;
    transform: scale(.35) rotate(-8deg);
  }

  55% {
    opacity: 1;
    transform: scale(1.12) rotate(2deg);
  }

  100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
}

@keyframes bp-login-transicao-saida {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@media (max-width: 575.98px) {
  .bp-login-transicao__gol {
    right: 4%;
    width: 7.5rem;
    height: 5rem;
    margin-top: -4.25rem;
  }

  .bp-login-transicao__bola {
    font-size: 3.25rem;
  }

  .bp-login-transicao__bola-wrap {
    width: 3.25rem;
    height: 3.25rem;
    margin-top: -1.6rem;
    left: -3.25rem;
  }

  .bp-login-transicao.is-rolando .bp-login-transicao__bola-wrap {
    animation-name: bp-login-bola-rolar-gol-mobile;
  }

  .bp-login-transicao.is-gol .bp-login-transicao__bola-wrap {
    right: calc(4% + 2.35rem);
    margin-top: -1.85rem;
  }

  .bp-login-transicao__gol-texto {
    top: 26%;
    right: 10%;
  }
}

@keyframes bp-login-bola-rolar-gol-mobile {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(calc(100vw - 4% - 7.5rem + 1rem));
  }
}

@media (max-width: 575.98px) {
  .bp-auth--campo {
    padding: 1.5rem .85rem 1.75rem;
    border-radius: 18px;
  }

  .bp-auth__circulo-central {
    width: 88px;
    height: 88px;
  }

  .bp-auth__area {
    width: 10%;
    height: 36%;
  }

  .bp-auth__card {
    padding: 1.35rem 1.15rem 1.5rem;
  }

  .bp-form__actions {
    flex-direction: column-reverse;
    align-items: stretch;
  }

  .bp-form__submit,
  .bp-form__link {
    width: 100%;
    text-align: center;
  }

  .bp-senha-requisitos {
    grid-template-columns: 1fr;
  }
}

.bp-alert--success {
  background: rgba(39, 174, 96, .1);
  border: 1px solid rgba(39, 174, 96, .22);
  color: #1e8449;
}

.bp-form__control--telefone {
  padding-left: .9rem;
}

.bp-form .iti {
  display: block;
  width: 100%;
}

.bp-form .iti__flag-container {
  border-radius: 12px 0 0 12px;
}

.bp-form .iti--separate-dial-code .iti__selected-flag {
  border-radius: 12px 0 0 12px;
  background: rgba(15, 109, 53, .06);
}

.bp-form .iti--separate-dial-code input.bp-form__control {
  padding-left: 6.2rem;
}

.bp-form textarea.bp-form__control {
  min-height: 8.5rem;
  resize: vertical;
}

/* ============================================================
   Contato — botão, envio e sucesso
   ============================================================ */

.bp-contato__actions {
  justify-content: center;
  margin-top: .35rem;
}

.bp-contato__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  width: 100%;
  max-width: 340px;
  margin: 0 auto;
  padding: .95rem 1.85rem;
  border: none;
  border-radius: 999px;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .01em;
  color: #08351c;
  background: linear-gradient(135deg, var(--bp-lime) 0%, var(--bp-gold) 55%, #c8f07a 100%);
  box-shadow:
    0 14px 30px rgba(15, 109, 53, .24),
    inset 0 1px 0 rgba(255, 255, 255, .42);
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.bp-contato__submit::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 28%, rgba(255, 255, 255, .32) 50%, transparent 72%);
  transform: translateX(-130%);
  transition: transform .65s ease;
  pointer-events: none;
}

.bp-contato__submit:hover:not(:disabled)::after {
  transform: translateX(130%);
}

.bp-contato__submit:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow:
    0 18px 36px rgba(15, 109, 53, .3),
    inset 0 1px 0 rgba(255, 255, 255, .48);
  filter: saturate(1.05);
}

.bp-contato__submit:active:not(:disabled) {
  transform: translateY(0);
  box-shadow: 0 10px 22px rgba(15, 109, 53, .22);
}

.bp-contato__submit:disabled {
  opacity: .88;
  cursor: wait;
}

.bp-contato__submit.is-loading .bp-contato__submit-icon i {
  display: none;
}

.bp-contato__submit.is-loading .bp-contato__submit-icon::before {
  content: '';
  display: inline-block;
  width: 1.05rem;
  height: 1.05rem;
  border: 2px solid rgba(8, 53, 28, .18);
  border-top-color: #08351c;
  border-radius: 50%;
  animation: bp-contato-spin .7s linear infinite;
}

.bp-contato__submit.is-danger {
  background: linear-gradient(135deg, #e74c3c, #c0392b) !important;
  color: #fff !important;
}

.bp-contato__submit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}

.bp-contato__envio-status {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  margin-bottom: 1rem;
  padding: .8rem 1rem;
  border-radius: 14px;
  background: rgba(15, 109, 53, .08);
  border: 1px solid rgba(15, 109, 53, .16);
  color: var(--bp-green-dark);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.45;
}

.bp-contato__envio-spinner {
  flex-shrink: 0;
  width: 1.1rem;
  height: 1.1rem;
  border: 2px solid rgba(15, 109, 53, .18);
  border-top-color: var(--bp-green);
  border-radius: 50%;
  animation: bp-contato-spin .7s linear infinite;
}

.bp-contato__sucesso {
  text-align: center;
  padding: 1.25rem .35rem .5rem;
  animation: bp-contato-fade-in .55s ease;
}

.bp-contato__sucesso-titulo {
  margin: 0 0 .75rem;
  font-size: 1.45rem;
  font-weight: 800;
  color: var(--bp-green-dark);
}

.bp-contato__sucesso-texto {
  margin: 0 auto;
  max-width: 34rem;
  font-size: .98rem;
  line-height: 1.65;
  color: var(--bp-muted);
}

.bp-contato__bola-campo {
  position: relative;
  width: 88px;
  height: 104px;
  margin: 0 auto 1.35rem;
}

.bp-contato__bola-wrap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 54px;
  animation: bp-contato-bola-y 1.25s linear infinite;
  will-change: transform;
}

.bp-contato__bola-inner {
  display: inline-flex;
  transform-origin: center bottom;
  animation: bp-contato-bola-squash 1.25s linear infinite;
}

.bp-contato__bola {
  display: block;
  font-size: 3.35rem;
  line-height: 1;
  color: var(--bp-green);
  filter: drop-shadow(0 6px 8px rgba(15, 109, 53, .2));
  animation: bp-contato-bola-spin 1.25s linear infinite;
}

.bp-contato__bola-sombra {
  position: absolute;
  left: 50%;
  bottom: 12px;
  width: 44px;
  height: 8px;
  margin-left: -22px;
  background: radial-gradient(ellipse, rgba(8, 53, 28, .3) 0%, rgba(8, 53, 28, 0) 72%);
  border-radius: 50%;
  transform-origin: center center;
  animation: bp-contato-bola-sombra 1.25s linear infinite;
  will-change: transform, opacity;
}

.bp-contato--enviado .bp-auth__card {
  border-color: rgba(15, 109, 53, .22);
  box-shadow: 0 18px 40px rgba(15, 109, 53, .1);
}

@keyframes bp-contato-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes bp-contato-bola-y {
  0%,
  56%,
  100% {
    transform: translateY(0);
  }

  9% {
    transform: translateY(-54px);
  }

  18% {
    transform: translateY(0);
  }

  27% {
    transform: translateY(-30px);
  }

  36% {
    transform: translateY(0);
  }

  44% {
    transform: translateY(-12px);
  }

  52% {
    transform: translateY(0);
  }
}

@keyframes bp-contato-bola-sombra {
  0%,
  56%,
  100% {
    transform: scale(1);
    opacity: .34;
  }

  9% {
    transform: scale(.44);
    opacity: .12;
  }

  18% {
    transform: scale(1);
    opacity: .34;
  }

  27% {
    transform: scale(.62);
    opacity: .18;
  }

  36% {
    transform: scale(1);
    opacity: .34;
  }

  44% {
    transform: scale(.8);
    opacity: .24;
  }

  52% {
    transform: scale(1);
    opacity: .34;
  }
}

@keyframes bp-contato-bola-squash {
  0%,
  56%,
  100% {
    transform: scale(1, 1);
  }

  17%,
  18%,
  19% {
    transform: scale(1.14, .86);
  }

  35%,
  36%,
  37% {
    transform: scale(1.1, .9);
  }

  51%,
  52%,
  53% {
    transform: scale(1.05, .95);
  }
}

@keyframes bp-contato-bola-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes bp-contato-fade-in {
  from {
    opacity: 0;
    transform: translateY(14px);
  }

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

@media (max-width: 575.98px) {
  .bp-contato__submit {
    max-width: none;
    padding: .9rem 1.35rem;
    font-size: .95rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bp-contato__bola-wrap,
  .bp-contato__bola-inner,
  .bp-contato__bola,
  .bp-contato__bola-sombra,
  .bp-contato__envio-spinner,
  .bp-contato__submit.is-loading .bp-contato__submit-icon::before {
    animation: none !important;
  }

  .bp-login-transicao.is-rolando .bp-login-transicao__bola-wrap,
  .bp-login-transicao.is-rolando .bp-login-transicao__sombra,
  .bp-login-transicao.is-rolando .bp-login-transicao__bola-inner,
  .bp-login-transicao.is-gol .bp-login-transicao__bola-wrap,
  .bp-login-transicao.is-gol .bp-login-transicao__sombra,
  .bp-login-transicao.is-gol .bp-login-transicao__gol-texto,
  .bp-login-transicao.is-saindo,
  .bp-login-transicao.is-saindo .bp-login-transicao__backdrop {
    animation: none !important;
  }

  .bp-login-transicao.is-gol .bp-login-transicao__bola-wrap {
    right: calc(7% + 3.25rem);
    left: auto;
    transform: scale(1.6);
  }

  .bp-login-transicao.is-gol .bp-login-transicao__gol-texto {
    opacity: 1;
    transform: scale(1);
  }

  .bp-contato__sucesso {
    animation: none;
  }
}

/* Página 404 — campo de futebol */
body.is-error-page {
  background: #0a4d27;
}

body.is-error-page #conteudo-principal {
  min-height: calc(100dvh - var(--bp-navbar-offset));
}

.error-page {
  position: relative;
  min-height: calc(100dvh - var(--bp-navbar-offset));
  padding: calc(var(--bp-navbar-offset) + 2.5rem) 0 4rem;
  overflow: hidden;
  color: #fff;
}

.error-page__field {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.error-page__grass {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      90deg,
      rgba(255, 255, 255, .045) 0,
      rgba(255, 255, 255, .045) 7%,
      transparent 7%,
      transparent 14%
    ),
    repeating-linear-gradient(
      to bottom,
      rgba(255, 255, 255, .04) 0,
      rgba(255, 255, 255, .04) 2px,
      transparent 2px,
      transparent 72px
    ),
    linear-gradient(180deg, #0f6d35 0%, #0d5e31 42%, #0a4d27 100%);
}

.error-page__markings {
  position: absolute;
  inset: 0;
}

.error-page__pitch-border {
  position: absolute;
  top: 1.25rem;
  right: 1rem;
  bottom: 1.25rem;
  left: 1rem;
  border: 3px solid rgba(255, 255, 255, .34);
  border-radius: 6px;
}

.error-page__half-line {
  position: absolute;
  top: 1.25rem;
  bottom: 1.25rem;
  left: 50%;
  width: 3px;
  transform: translateX(-50%);
  background: rgba(255, 255, 255, .32);
}

.error-page__center-circle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(120px, 22vw, 220px);
  height: clamp(120px, 22vw, 220px);
  transform: translate(-50%, -50%);
  border: 3px solid rgba(255, 255, 255, .32);
  border-radius: 50%;
}

.error-page__center-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(255, 255, 255, .45);
}

.error-page__box {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 3px solid rgba(255, 255, 255, .32);
  box-sizing: border-box;
}

.error-page__box--large {
  width: 18%;
  height: 58%;
}

.error-page__box--small {
  width: 8%;
  height: 28%;
}

.error-page__box--left {
  left: 1rem;
  border-left: none;
}

.error-page__box--right {
  right: 1rem;
  border-right: none;
}

.error-page__box--left.error-page__box--small {
  left: 1rem;
}

.error-page__box--right.error-page__box--small {
  right: 1rem;
}

.error-page__arc {
  position: absolute;
  top: 50%;
  width: clamp(70px, 12vw, 120px);
  height: clamp(70px, 12vw, 120px);
  transform: translateY(-50%);
  border: 3px solid rgba(255, 255, 255, .32);
  border-radius: 50%;
}

.error-page__arc--left {
  left: calc(1rem + 18%);
  clip-path: inset(0 0 0 50%);
  transform: translate(-50%, -50%);
}

.error-page__arc--right {
  right: calc(1rem + 18%);
  clip-path: inset(0 50% 0 0);
  transform: translate(50%, -50%);
}

.error-page__corner {
  position: absolute;
  width: 28px;
  height: 28px;
  border: 3px solid rgba(255, 255, 255, .32);
}

.error-page__corner--tl {
  top: 1.25rem;
  left: 1rem;
  border-right: none;
  border-bottom: none;
  border-radius: 10px 0 0 0;
}

.error-page__corner--tr {
  top: 1.25rem;
  right: 1rem;
  border-left: none;
  border-bottom: none;
  border-radius: 0 10px 0 0;
}

.error-page__corner--bl {
  bottom: 1.25rem;
  left: 1rem;
  border-right: none;
  border-top: none;
  border-radius: 0 0 0 10px;
}

.error-page__corner--br {
  right: 1rem;
  bottom: 1.25rem;
  border-left: none;
  border-top: none;
  border-radius: 0 0 10px 0;
}

.error-page__ball {
  position: absolute;
  top: 18%;
  right: 12%;
  z-index: 1;
  font-size: clamp(2rem, 5vw, 3.25rem);
  color: rgba(255, 255, 255, .22);
  transform: rotate(-18deg);
  animation: error-page-ball-float 5s ease-in-out infinite;
}

@keyframes error-page-ball-float {
  0%, 100% { transform: rotate(-18deg) translateY(0); }
  50% { transform: rotate(-10deg) translateY(-12px); }
}

.error-page__container {
  position: relative;
  z-index: 2;
}

.error-page__content {
  max-width: 760px;
  margin: 0 auto;
}

.error-page__code {
  margin: 0 0 1.25rem;
  font-size: clamp(5.5rem, 22vw, 11rem);
  font-weight: 900;
  line-height: 0.9;
  letter-spacing: -0.06em;
  color: #fff;
  text-shadow:
    0 4px 0 rgba(0, 0, 0, .12),
    0 12px 36px rgba(0, 0, 0, .35);
}

.error-page__panel {
  padding: 2rem 1.75rem 1.75rem;
  border-radius: 24px;
  background: rgba(6, 42, 21, .52);
  border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .22);
  backdrop-filter: blur(10px);
}

.error-page__badge {
  background: rgba(255, 255, 255, .1);
  color: var(--bp-gold, #d8ff84);
  border-color: rgba(255, 255, 255, .18);
}

.error-page .section-title {
  color: #fff;
}

.error-page .section-subtitle,
.error-page__subtitle {
  color: rgba(255, 255, 255, .84);
  max-width: 560px;
}

.error-page__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 2rem;
}

.error-page__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem 1.5rem;
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, .14);
}

.error-page__links a {
  color: var(--bp-gold, #d8ff84);
  font-weight: 700;
  text-decoration: none;
}

.error-page__links a:hover {
  color: #fff;
}

body.is-error-page .field-footer {
  margin-top: 0;
}

@media (max-width: 767.98px) {
  .error-page {
    padding-top: calc(var(--bp-navbar-offset) + 1.5rem);
    padding-bottom: 3rem;
  }

  .error-page__pitch-border {
    top: 0.75rem;
    right: 0.5rem;
    bottom: 0.75rem;
    left: 0.5rem;
  }

  .error-page__half-line {
    top: 0.75rem;
    bottom: 0.75rem;
  }

  .error-page__box--left { left: 0.5rem; }
  .error-page__box--right { right: 0.5rem; }
  .error-page__box--left.error-page__box--small { left: 0.5rem; }
  .error-page__box--right.error-page__box--small { right: 0.5rem; }

  .error-page__corner--tl,
  .error-page__corner--bl { left: 0.5rem; }
  .error-page__corner--tr,
  .error-page__corner--br { right: 0.5rem; }
  .error-page__corner--tl,
  .error-page__corner--tr { top: 0.75rem; }
  .error-page__corner--bl,
  .error-page__corner--br { bottom: 0.75rem; }

  .error-page__panel {
    padding: 1.5rem 1.15rem 1.35rem;
  }

  .error-page__ball {
    top: 10%;
    right: 6%;
    opacity: 0.7;
  }

  .error-page__actions .btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .error-page__ball {
    animation: none;
  }
}

/* ============================================================
   Cadastro escolinha — wizard bp-wizard
   ============================================================ */

.bp-cadastro-escolinha .bp-form__feedback {
  min-height: 0;
}

.bp-form__feedback--checking {
  display: flex;
  align-items: flex-start;
  gap: .45rem;
  margin-top: .4rem;
  padding: .55rem .7rem;
  border-radius: 10px;
  background: rgba(15, 109, 53, .08);
  border: 1px solid rgba(15, 109, 53, .14);
  color: var(--bp-green-dark);
  font-size: .84rem;
  font-weight: 600;
  line-height: 1.45;
}

.bp-form__feedback--checking::before {
  content: '';
  flex-shrink: 0;
  width: .95rem;
  height: .95rem;
  margin-top: .12rem;
  border: 2px solid rgba(15, 109, 53, .18);
  border-top-color: var(--bp-green);
  border-radius: 50%;
  animation: bp-contato-spin .7s linear infinite;
}

.bp-form__feedback--duplicado {
  margin-top: .4rem;
  padding: .65rem .8rem;
  border-radius: 10px;
  background: rgba(231, 76, 60, .09);
  border: 1px solid rgba(231, 76, 60, .24);
  color: #a93226;
  font-size: .84rem;
  font-weight: 600;
  line-height: 1.5;
}

.bp-form__feedback--duplicado::before {
  content: '\f071';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  margin-right: .45rem;
}

.bp-form__control.is-duplicado {
  border-color: #e74c3c;
  box-shadow: 0 0 0 3px rgba(231, 76, 60, .12);
}

.bp-cadastro-escolinha {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
}

.bp-cadastro-escolinha .bp-auth__card {
  max-width: none;
  width: 100%;
  padding: 2rem 2.25rem 2.15rem;
}

.bp-wizard__steps {
  display: flex;
  gap: .65rem;
  margin-bottom: 1.35rem;
  flex-wrap: wrap;
}

.bp-wizard__step {
  flex: 1 1 0;
  min-width: 120px;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .65rem .75rem;
  border: 1px solid rgba(15, 109, 53, .14);
  border-radius: 12px;
  background: #f8fbf9;
  color: var(--bp-muted);
  font-size: .82rem;
  font-weight: 700;
}

.bp-wizard__step.is-active {
  border-color: var(--bp-green);
  background: linear-gradient(135deg, rgba(15, 109, 53, .1) 0%, rgba(166, 239, 96, .14) 100%);
  color: var(--bp-green-dark);
  box-shadow: 0 8px 22px rgba(15, 109, 53, .1);
}

.bp-wizard__step.is-done {
  border-color: rgba(15, 109, 53, .28);
  color: var(--bp-green-dark);
}

.bp-wizard__step-num {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(15, 109, 53, .12);
  font-size: .78rem;
}

.bp-wizard__step-digit {
  line-height: 1;
}

.bp-wizard__step-bola {
  display: none;
  font-size: 1rem;
  line-height: 1;
  color: #fff;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .18));
  animation: bp-wizard-bola-spin 1.6s linear infinite;
}

.bp-wizard__step.is-active .bp-wizard__step-num {
  background: var(--bp-green);
  color: #fff;
  box-shadow: 0 0 0 3px rgba(166, 239, 96, .35);
}

.bp-wizard__step.is-active .bp-wizard__step-digit {
  display: none;
}

.bp-wizard__step.is-active .bp-wizard__step-bola {
  display: block;
}

.bp-wizard__step.is-done .bp-wizard__step-num {
  background: var(--bp-green);
  color: #fff;
}

@keyframes bp-wizard-bola-spin {
  to {
    transform: rotate(360deg);
  }
}

.bp-wizard__panel-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--bp-green-dark);
  margin: 0 0 1rem;
}

.bp-wizard__panel-title i {
  margin-right: .45rem;
  color: var(--bp-green);
}

.bp-form__meta {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.25rem;
  margin-top: .25rem;
  padding: .75rem .9rem;
  border-radius: 12px;
  background: #f6fbf6;
  border: 1px solid rgba(15, 109, 53, .12);
  font-size: .86rem;
  color: var(--bp-muted);
}

.bp-form__meta i {
  color: var(--bp-green);
  margin-right: .35rem;
}

.bp-form__row {
  display: flex;
  gap: .85rem;
  align-items: flex-start;
}

.bp-form__group--grow {
  flex: 1 1 auto;
}

.bp-form__group--num {
  flex: 0 0 110px;
}

.bp-form__group--uf {
  flex: 0 0 88px;
}

.bp-wizard__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: flex-end;
  margin-top: 1.25rem;
  padding-top: .5rem;
}

.bp-wizard__btn-prev,
.bp-wizard__btn-next,
.bp-cadastro-escolinha .bp-form__submit {
  min-width: 150px;
}

.bp-cadastro-clubes {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: .65rem;
}

.bp-cadastro-clubes__item {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0;
  padding: .7rem .85rem;
  border: 1px solid rgba(15, 109, 53, .16);
  border-radius: 12px;
  background: #f8fbf9;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.bp-cadastro-clubes__item:hover {
  border-color: rgba(15, 109, 53, .35);
  background: #fff;
}

.bp-cadastro-clubes__item:has(.bp-cadastro-clubes__check:checked) {
  border-color: var(--bp-green);
  background: linear-gradient(135deg, rgba(15, 109, 53, .08) 0%, rgba(166, 239, 96, .12) 100%);
  box-shadow: 0 6px 16px rgba(15, 109, 53, .08);
}

.bp-cadastro-clubes__check {
  width: 1.05rem;
  height: 1.05rem;
  flex-shrink: 0;
  accent-color: var(--bp-green);
}

.bp-cadastro-clubes__escudo {
  width: 32px;
  height: 32px;
  object-fit: contain;
  border-radius: 6px;
  flex-shrink: 0;
  background: #fff;
}

.bp-cadastro-clubes__nome {
  font-size: .9rem;
  font-weight: 600;
  color: var(--bp-green-dark);
  line-height: 1.25;
  min-width: 0;
}

.bp-wizard__btn-spinner {
  display: inline-block;
  width: .9rem;
  height: .9rem;
  margin-right: .4rem;
  vertical-align: -.12em;
  border: 2px solid rgba(255, 255, 255, .35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: bp-contato-spin .7s linear infinite;
}

.bp-form__group--cep .bp-form__control.is-loading {
  background-image: linear-gradient(90deg, rgba(15, 109, 53, .04) 0%, rgba(166, 239, 96, .12) 50%, rgba(15, 109, 53, .04) 100%);
  background-size: 200% 100%;
  animation: bp-cep-input-shimmer 1.1s ease-in-out infinite;
}

.bp-cep-status {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-top: .55rem;
  padding: .65rem .85rem;
  border-radius: 12px;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.4;
}

.bp-cep-status.is-loading {
  background: rgba(15, 109, 53, .08);
  border: 1px solid rgba(15, 109, 53, .16);
  color: var(--bp-green-dark);
}

.bp-cep-status.is-success {
  background: rgba(15, 109, 53, .1);
  border: 1px solid rgba(15, 109, 53, .22);
  color: var(--bp-green-dark);
}

.bp-cep-status.is-error {
  background: rgba(231, 76, 60, .08);
  border: 1px solid rgba(231, 76, 60, .22);
  color: #b83227;
}

.bp-cep-status__spinner {
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  border: 2px solid rgba(15, 109, 53, .18);
  border-top-color: var(--bp-green);
  border-radius: 50%;
  animation: bp-contato-spin .7s linear infinite;
}

.bp-cep-status.is-success .bp-cep-status__spinner,
.bp-cep-status.is-error .bp-cep-status__spinner {
  display: none;
}

.bp-cep-status.is-success .bp-cep-status__text::before {
  content: '\f058';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  margin-right: .45rem;
  color: var(--bp-green);
}

.bp-cep-status.is-error .bp-cep-status__text::before {
  content: '\f071';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  margin-right: .45rem;
}

@keyframes bp-cep-input-shimmer {
  0% {
    background-position: 100% 0;
  }

  100% {
    background-position: -100% 0;
  }
}

@media (max-width: 767.98px) {
  .bp-cadastro-escolinha .bp-auth__card {
    padding: 1.5rem 1.15rem 1.65rem;
  }

  .bp-form__row,
  .bp-form__row--address {
    flex-direction: column;
  }

  .bp-form__group--num,
  .bp-form__group--uf {
    flex: 1 1 auto;
    width: 100%;
  }

  .bp-wizard__step-label {
    display: none;
  }

  .bp-wizard__actions {
    flex-direction: column;
  }

  .bp-wizard__btn-prev,
  .bp-wizard__btn-next,
  .bp-cadastro-escolinha .bp-form__submit {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bp-wizard__step-bola {
    animation: none;
  }

  .bp-form__group--cep .bp-form__control.is-loading {
    animation: none;
  }

  .bp-cep-status__spinner {
    animation: none;
  }
}

/* ============================================================
   BLOG — home (cards clicáveis), listagem, artigo e comentários
   ============================================================ */

/* Card lateral da home como link clicável */
a.blog-side-card {
  text-decoration: none;
  color: inherit;
  transition: transform .25s ease, box-shadow .25s ease;
}

a.blog-side-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 34px rgba(8, 53, 28, .12);
}

/* ---------- Listagem de notícias ---------- */
.bp-blog-filtros {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr auto;
  gap: 1rem 1.25rem;
  align-items: end;
  background: var(--bp-card);
  border: 1px solid var(--bp-border);
  border-radius: 22px;
  padding: 1.5rem 1.75rem 1.75rem;
  box-shadow: var(--bp-shadow);
  margin-bottom: 2.5rem;
}

.bp-blog-filtros__titulo {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: .55rem;
  font-size: 1rem;
  font-weight: 900;
  color: var(--bp-text);
  padding-bottom: .9rem;
  margin-bottom: .2rem;
  border-bottom: 1px solid var(--bp-border);
}

.bp-blog-filtros__titulo i {
  color: var(--bp-green);
}

.bp-blog-filtros__campo label {
  display: block;
  font-weight: 800;
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: var(--bp-muted);
  margin-bottom: .45rem;
}

.bp-blog-filtros__input {
  position: relative;
}

.bp-blog-filtros__input i {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  color: var(--bp-green);
}

.bp-blog-filtros .bp-blog-filtros__input input {
  padding-left: 2.6rem;
}

.bp-blog-filtros input,
.bp-blog-filtros select {
  width: 100%;
  height: 48px;
  border: 1px solid var(--bp-border);
  border-radius: 12px;
  padding: 0 1rem;
  background: #fff;
  color: var(--bp-text);
  font-size: .95rem;
}

.bp-blog-filtros input:focus,
.bp-blog-filtros select:focus {
  outline: none;
  border-color: var(--bp-green);
  box-shadow: 0 0 0 3px rgba(15, 109, 53, .12);
}

.bp-blog-filtros__acoes {
  display: flex;
  align-items: center;
  gap: .75rem;
}

.bp-blog-filtros__limpar {
  color: var(--bp-muted);
  font-size: .88rem;
  text-decoration: underline;
  white-space: nowrap;
}

.bp-blog-hero {
  --bp-hero-cor: var(--bp-green);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;
  padding: 1.35rem 1.6rem;
  margin-bottom: 2rem;
  border: 1px solid var(--bp-border);
  border-left: 6px solid var(--bp-hero-cor);
  border-radius: 16px;
  background: var(--bp-card);
  box-shadow: var(--bp-shadow);
}

.bp-blog-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--bp-muted);
}

.bp-blog-hero__dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: var(--bp-hero-cor);
  box-shadow: 0 0 0 4px rgba(0, 0, 0, .05);
}

.bp-blog-hero__titulo {
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
  font-weight: 900;
  line-height: 1.2;
  margin: .4rem 0 .25rem;
  color: var(--bp-text);
}

.bp-blog-hero__sub {
  margin: 0;
  font-size: .92rem;
  color: var(--bp-muted);
}

.bp-blog-hero__sub strong {
  color: var(--bp-text);
}

.bp-blog-hero__reset {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-weight: 700;
  font-size: .9rem;
  color: var(--bp-green);
  text-decoration: none;
  white-space: nowrap;
  transition: gap .2s ease;
}

.bp-blog-hero__reset:hover {
  gap: .7rem;
  text-decoration: underline;
}

.bp-blog-resultado {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--bp-border);
}

.bp-blog-resultado__info {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin: 0;
  color: var(--bp-muted);
  font-size: .92rem;
}

.bp-blog-resultado__info i {
  color: var(--bp-green);
}

.bp-blog-resultado__info strong {
  color: var(--bp-text);
}

.bp-blog-resultado__pagina {
  font-size: .82rem;
  font-weight: 700;
  color: var(--bp-muted);
  background: var(--bp-bg);
  border-radius: 999px;
  padding: .3rem .85rem;
}

.bp-blog-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--bp-card);
  border: 1px solid var(--bp-border);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(8, 53, 28, .06);
  transition: transform .25s ease, box-shadow .25s ease;
}

.bp-blog-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 38px rgba(8, 53, 28, .12);
}

.bp-blog-card__img {
  position: relative;
  display: block;
  aspect-ratio: 8 / 5;
  overflow: hidden;
}

.bp-blog-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform .4s ease;
}

.bp-blog-card:hover .bp-blog-card__img img {
  transform: scale(1.06);
}

.bp-blog-card__cat {
  position: absolute;
  top: 12px;
  left: 12px;
  color: #fff;
  font-size: .74rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  padding: .35rem .8rem;
  border-radius: 999px;
}

.bp-blog-card__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 1.3rem 1.4rem 1.5rem;
}

.bp-blog-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  color: var(--bp-muted);
  font-size: .82rem;
  margin-bottom: .7rem;
}

.bp-blog-card__meta i {
  color: var(--bp-green);
  margin-right: .25rem;
}

.bp-blog-card__titulo {
  font-size: 1.18rem;
  line-height: 1.3;
  font-weight: 900;
  margin-bottom: .6rem;
}

.bp-blog-card__titulo a {
  color: var(--bp-text);
  text-decoration: none;
}

.bp-blog-card__titulo a:hover {
  color: var(--bp-green);
}

.bp-blog-card__desc {
  color: var(--bp-muted);
  font-size: .94rem;
  line-height: 1.55;
  margin-bottom: 1rem;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bp-blog-card__link {
  margin-top: auto;
  font-weight: 800;
  color: var(--bp-green);
  text-decoration: none;
}

.bp-blog-card__link i {
  transition: transform .25s ease;
}

.bp-blog-card__link:hover i {
  transform: translateX(4px);
}

.bp-blog-vazio {
  text-align: center;
  padding: 3.5rem 1.5rem;
  background: var(--bp-card);
  border: 1px dashed var(--bp-border);
  border-radius: 22px;
  color: var(--bp-muted);
}

.bp-blog-vazio i {
  font-size: 2.6rem;
  color: var(--bp-green);
  margin-bottom: 1rem;
}

.bp-blog-paginacao {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  margin-top: 2.5rem;
}

.bp-blog-paginacao a,
.bp-blog-paginacao__atual {
  min-width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid var(--bp-border);
  font-weight: 800;
  text-decoration: none;
  color: var(--bp-text);
  background: #fff;
}

.bp-blog-paginacao a:hover {
  border-color: var(--bp-green);
  color: var(--bp-green);
}

.bp-blog-paginacao__atual {
  background: var(--bp-green);
  border-color: var(--bp-green);
  color: #fff;
}

/* ---------- Sidebar ---------- */
.bp-blog-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: sticky;
  top: calc(var(--bp-navbar-offset) + 12px);
}

.bp-blog-widget {
  background: var(--bp-card);
  border: 1px solid var(--bp-border);
  border-radius: 22px;
  padding: 1.4rem;
  box-shadow: 0 12px 28px rgba(8, 53, 28, .05);
}

.bp-blog-widget__titulo {
  font-size: 1.05rem;
  font-weight: 900;
  margin-bottom: 1.1rem;
  color: var(--bp-text);
}

.bp-blog-search {
  display: flex;
  border: 1px solid var(--bp-border);
  border-radius: 12px;
  overflow: hidden;
}

.bp-blog-search input {
  flex: 1;
  border: 0;
  padding: .7rem 1rem;
  font-size: .92rem;
}

.bp-blog-search input:focus {
  outline: none;
}

.bp-blog-search button {
  border: 0;
  background: var(--bp-green);
  color: #fff;
  padding: 0 1.1rem;
  cursor: pointer;
}

.bp-blog-recentes {
  display: flex;
  flex-direction: column;
}

.bp-blog-recente {
  display: flex;
  gap: .9rem;
  align-items: center;
  text-decoration: none;
  color: inherit;
  padding: .7rem .55rem;
  border-radius: 16px;
  transition: background-color .2s ease, transform .2s ease;
}

.bp-blog-recente + .bp-blog-recente {
  border-top: 1px solid var(--bp-border);
}

.bp-blog-recente:hover {
  background: rgba(15, 109, 53, .06);
  border-top-color: transparent;
  transform: translateX(2px);
}

.bp-blog-recente:hover + .bp-blog-recente {
  border-top-color: transparent;
}

.bp-blog-recente__thumb {
  position: relative;
  flex-shrink: 0;
  width: 78px;
  height: 78px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 14px rgba(8, 53, 28, .12);
}

.bp-blog-recente__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .35s ease;
}

.bp-blog-recente:hover .bp-blog-recente__thumb img {
  transform: scale(1.08);
}

.bp-blog-recente__info {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.bp-blog-recente__titulo {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
  font-weight: 800;
  font-size: .9rem;
  line-height: 1.35;
  color: var(--bp-text);
  transition: color .2s ease;
}

.bp-blog-recente:hover .bp-blog-recente__titulo {
  color: var(--bp-green);
}

.bp-blog-recente__data {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .76rem;
  font-weight: 600;
  color: var(--bp-muted);
  margin-top: .4rem;
}

.bp-blog-recente__data i {
  color: var(--bp-green);
}

.bp-blog-categorias {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bp-blog-categorias li + li {
  margin-top: .55rem;
}

.bp-blog-categorias a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .55rem .85rem;
  border-radius: 12px;
  background: var(--bp-bg);
  text-decoration: none;
  color: var(--bp-text);
  font-weight: 700;
  font-size: .92rem;
}

.bp-blog-categorias a:hover {
  background: rgba(15, 109, 53, .08);
}

.bp-blog-categorias__total {
  color: #fff;
  font-size: .78rem;
  min-width: 26px;
  height: 24px;
  padding: 0 .4rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
}

.bp-blog-widget--cta {
  background: linear-gradient(135deg, #0a4d27 0%, #0f6d35 55%, #78c447 100%);
  color: #fff;
  border: 0;
}

.bp-blog-widget--cta p {
  color: rgba(255, 255, 255, .9);
  font-size: .92rem;
  margin-bottom: 1.1rem;
}

/* ---------- Artigo ---------- */
.bp-artigo {
  padding-top: calc(var(--bp-navbar-offset) + 1.5rem);
}

.bp-artigo__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  color: var(--bp-muted);
  font-size: .85rem;
  margin-bottom: 1.8rem;
}

.bp-artigo__breadcrumb a {
  color: var(--bp-green);
  text-decoration: none;
  font-weight: 700;
}

.bp-artigo__categoria {
  display: inline-block;
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  padding: .4rem .9rem;
  border-radius: 999px;
  margin-bottom: 1rem;
}

.bp-artigo__titulo {
  font-size: clamp(1.9rem, 3.4vw, 2.9rem);
  line-height: 1.12;
  font-weight: 900;
  margin-bottom: 1.1rem;
}

.bp-artigo__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
  color: var(--bp-muted);
  font-size: .9rem;
  margin-bottom: 1.8rem;
}

.bp-artigo__meta i {
  color: var(--bp-green);
  margin-right: .35rem;
}

.bp-artigo__capa {
  border-radius: 24px;
  overflow: hidden;
  margin-bottom: 2rem;
  aspect-ratio: 8 / 5;
  box-shadow: var(--bp-shadow);
}

.bp-artigo__capa img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.bp-artigo__youtube {
  width: 100%;
  margin-bottom: 2rem;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  box-shadow: var(--bp-shadow);
}

.bp-artigo__youtube iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.bp-artigo__conteudo {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #2c3f34;
}

.bp-artigo__conteudo p {
  margin-bottom: 1.2rem;
}

.bp-artigo__conteudo img {
  max-width: 100%;
  height: auto;
  border-radius: 16px;
  margin: 1rem 0;
}

.bp-artigo__conteudo h2,
.bp-artigo__conteudo h3 {
  font-weight: 900;
  margin: 1.8rem 0 1rem;
  color: var(--bp-text);
}

.bp-artigo__rodape {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  padding: 1.6rem 0;
  margin-top: 1.5rem;
  border-top: 1px solid var(--bp-border);
  border-bottom: 1px solid var(--bp-border);
}

.bp-artigo__meta-rodape {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.bp-artigo__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
}

.bp-artigo__tags-label {
  font-weight: 800;
  color: var(--bp-text);
}

.bp-artigo__tag {
  background: var(--bp-bg);
  color: var(--bp-muted);
  font-size: .8rem;
  padding: .35rem .8rem;
  border-radius: 999px;
}

.bp-artigo__clubes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
}

.bp-artigo__clube {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .35rem;
  border-radius: 50%;
  border: 1px solid rgba(15, 109, 53, .14);
  background: #fff;
  box-shadow: 0 8px 20px rgba(8, 53, 28, .08);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.bp-artigo__clube:hover,
.bp-artigo__clube:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(15, 109, 53, .3);
  box-shadow: 0 12px 24px rgba(8, 53, 28, .12);
  outline: none;
}

.bp-artigo__clube-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bp-artigo__share {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.bp-artigo__share-label {
  font-weight: 800;
  color: var(--bp-text);
  margin-right: .25rem;
}

.bp-artigo__share-btn {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  transition: transform .2s ease, opacity .2s ease;
}

.bp-artigo__share-btn:hover {
  transform: translateY(-3px);
  color: #fff;
}

.bp-artigo__share-btn--whats { background: #25d366; }
.bp-artigo__share-btn--face { background: #1877f2; }
.bp-artigo__share-btn--x { background: #111; }
.bp-artigo__share-btn--link { background: var(--bp-green); }
.bp-artigo__share-btn.is-copiado { background: var(--bp-lime); color: var(--bp-green-dark); }

.bp-artigo__nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 2.2rem 0;
}

.bp-artigo__nav-item {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: 1.1rem 1.3rem;
  border: 1px solid var(--bp-border);
  border-radius: 16px;
  text-decoration: none;
  color: var(--bp-text);
  background: var(--bp-card);
  transition: border-color .2s ease, transform .2s ease;
}

.bp-artigo__nav-item:hover {
  border-color: var(--bp-green);
  transform: translateY(-2px);
}

.bp-artigo__nav-item--next {
  text-align: right;
  align-items: flex-end;
}

.bp-artigo__nav-dir {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 800;
  color: var(--bp-green);
}

.bp-artigo__nav-titulo {
  font-weight: 700;
  font-size: .95rem;
  line-height: 1.3;
}

/* ---------- Comentários ---------- */
.bp-comentarios {
  margin-top: 2.6rem;
}

.bp-comentarios__titulo {
  font-size: 1.5rem;
  font-weight: 900;
  margin-bottom: 1.5rem;
}

.bp-comentarios__vazio {
  color: var(--bp-muted);
  background: var(--bp-bg);
  border-radius: 14px;
  padding: 1.2rem 1.4rem;
}

.bp-comentarios__lista {
  list-style: none;
  margin: 0 0 2.5rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.bp-comentario {
  display: flex;
  gap: 1rem;
}

.bp-comentario__avatar {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--bp-green) 0%, #2b9653 100%);
  color: #fff;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
}

.bp-comentario__corpo {
  flex-grow: 1;
  background: var(--bp-card);
  border: 1px solid var(--bp-border);
  border-radius: 16px;
  padding: 1rem 1.2rem;
}

.bp-comentario__nome {
  font-size: 1rem;
  font-weight: 800;
  margin: 0;
  display: inline-block;
  margin-right: .6rem;
}

.bp-comentario__data {
  font-size: .8rem;
  color: var(--bp-muted);
}

.bp-comentario__texto {
  margin: .6rem 0 .4rem;
  color: #2c3f34;
  line-height: 1.6;
}

.bp-comentario__responder {
  border: 0;
  background: transparent;
  color: var(--bp-green);
  font-weight: 700;
  font-size: .85rem;
  padding: 0;
  cursor: pointer;
}

.bp-comentario__respostas {
  list-style: none;
  margin: 1rem 0 0;
  padding: 0 0 0 1.2rem;
  border-left: 2px solid var(--bp-border);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.bp-comentario--resposta .bp-comentario__avatar {
  width: 38px;
  height: 38px;
  font-size: .85rem;
}

.bp-comentarios__form {
  background: var(--bp-card);
  border: 1px solid var(--bp-border);
  border-radius: 22px;
  padding: 1.8rem;
  box-shadow: 0 12px 28px rgba(8, 53, 28, .05);
}

.bp-comentarios__form-titulo {
  font-size: 1.2rem;
  font-weight: 900;
  margin-bottom: 1.2rem;
}

.bp-alert--sucesso {
  background: rgba(15, 109, 53, .1);
  border: 1px solid rgba(15, 109, 53, .25);
  color: var(--bp-green-dark);
  border-radius: 12px;
  padding: .9rem 1.1rem;
  margin: 1rem 0;
}

@media (max-width: 991.98px) {
  .bp-blog-filtros {
    grid-template-columns: 1fr 1fr;
  }

  .bp-blog-filtros__campo--busca {
    grid-column: 1 / -1;
  }

  .bp-blog-sidebar {
    position: static;
  }
}

@media (max-width: 575.98px) {
  .bp-blog-filtros {
    grid-template-columns: 1fr;
  }

  .bp-artigo__nav {
    grid-template-columns: 1fr;
  }

  .bp-artigo__rodape {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* ============================================================
   Vitrine esportiva — campeonatos e amistosos (#boraprofut)
   ============================================================ */

/* Logomarca dentro do badge circular (fallback: iniciais). */
.bp-badge { position: relative; overflow: hidden; }
.bp-badge .bp-badge-ini { line-height: 1; }
.bp-badge .bp-badge-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  background: #fff;
}
/* Novo topo do card de campeonato: logo da unidade centralizada + fileira de times. */
.bp-camp-topo { text-align: center; margin-bottom: 1rem; }
.bp-camp-unidade { display: flex; flex-direction: column; align-items: center; }
.bp-camp-unidade .match-badge-circle {
  width: 92px; height: 92px; font-size: 1.7rem; margin-bottom: .55rem;
}

/* Fileira de logos dos times participantes — efeito "arcos olímpicos" (círculos sobrepostos).
   O padding compensa a margem negativa do primeiro item para manter tudo centralizado. */
.bp-times-ring {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 9px;
  margin-top: .1rem;
}
.bp-times-ring__item {
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  margin-left: -9px;
  border: 2px solid #fff;
  background: rgba(255,255,255,.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: .7rem;
  font-weight: 800;
  color: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.28);
  transition: transform .15s ease;
}
.bp-times-ring__item:hover { transform: translateY(-3px) scale(1.12); z-index: 20; }
.bp-times-ring__ini { line-height: 1; }
.bp-times-ring__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #fff;
}
.bp-times-ring__more {
  background: rgba(255,247,199,.30);
  color: #fff;
  font-size: .68rem;
}

/* Topo do card de campeonato com fotoDestaque de fundo (foto do campo/evento).
   A URL vem via --bp-camp-foto; o overlay escuro (::before) preserva a legibilidade. */
.bp-card-top--foto {
  position: relative;
  background-image: var(--bp-camp-foto);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  isolation: isolate;
}
.bp-card-top--foto::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(135deg, rgba(8,53,28,.88) 0%, rgba(10,90,46,.72) 48%, rgba(8,53,28,.82) 100%);
}
.bp-card-top--foto > * { position: relative; z-index: 1; }
.bp-card-top--foto .match-team-name,
.bp-card-top--foto .match-tag,
.bp-card-top--foto .bp-versus-trophy { color: #fff; }
.bp-card-top--foto .match-badge-circle {
  border-color: rgba(255,255,255,.55);
  background: rgba(0,0,0,.28);
}

.bp-esporte { margin-top: 1.5rem; }
.bp-bloco { margin-top: 2.5rem; }
.bp-bloco .section-title {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 1.1rem;
  font-size: 1.2rem;
  line-height: 1.25;
  font-weight: 700;
  color: #1b2f3f;
  letter-spacing: -.01em;
}
.bp-bloco .section-title i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 2rem;
  height: 2rem;
  margin: 0 !important;
  font-size: .85rem;
  color: #0d5f30;
  background: rgba(15,109,53,.10);
  border-radius: 10px;
}
.bp-bloco > .section-subtitle { margin-top: -.6rem; }

/* Busca */
.bp-busca {
  display: flex;
  align-items: center;
  gap: .6rem;
  background: #fff;
  border: 1px solid rgba(15,109,53,.14);
  border-radius: 999px;
  padding: .5rem .6rem .5rem 1.1rem;
  box-shadow: 0 12px 28px rgba(8,53,28,.06);
  max-width: 620px;
}
.bp-busca i { color: #0d5f30; }
.bp-busca input {
  flex: 1;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 1rem;
  color: #21384a;
}

/* Listagem pública /escolinhas.html, /quadras.html e /influencers.html — placeholder mais longo */
.bp-escolinhas .bp-busca,
.bp-quadras .bp-busca,
.bp-influencers .bp-busca {
  width: 100%;
  max-width: 720px;
  scroll-margin-top: var(--bp-navbar-offset, 148px);
}

.bp-escolinhas .bp-busca input,
.bp-quadras .bp-busca input,
.bp-influencers .bp-busca input {
  min-width: 0;
}

.bp-escolinhas-grupo,
.bp-quadras-grupo {
  margin-bottom: 2.5rem;
}

.bp-escolinhas-grupo:last-child,
.bp-quadras-grupo:last-child {
  margin-bottom: 0;
}

.bp-escolinhas-grupo__titulo,
.bp-quadras-grupo__titulo {
  display: flex;
  align-items: center;
  gap: .65rem;
  font-size: 1.15rem;
  font-weight: 800;
  color: #0d5f30;
  margin: 0 0 1.15rem;
}

.bp-escolinhas-grupo__count,
.bp-quadras-grupo__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.75rem;
  height: 1.75rem;
  padding: 0 .45rem;
  border-radius: 999px;
  font-size: .8rem;
  font-weight: 800;
  color: #0d5f30;
  background: rgba(15, 109, 53, .12);
}

@media (max-width: 575.98px) {
  .bp-escolinhas .bp-busca,
  .bp-quadras .bp-busca,
  .bp-influencers .bp-busca {
    flex-wrap: wrap;
    border-radius: 18px;
    padding: .75rem;
  }

  .bp-escolinhas .bp-busca .btn,
  .bp-quadras .bp-busca .btn,
  .bp-influencers .bp-busca .btn {
    width: 100%;
  }
}

/* Avatar (foto do aluno ou iniciais) */
.bp-esporte-avatar {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #0a5a2e, #2b9653);
  color: #fff;
  font-weight: 800;
  overflow: hidden;
  flex: none;
}
.bp-esporte-avatar img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Ranking de artilheiros */
.bp-artilheiros {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}
.bp-artilheiro {
  display: flex;
  align-items: center;
  gap: .75rem;
  background: #fff;
  border: 1px solid rgba(15,109,53,.10);
  border-radius: 18px;
  padding: .7rem .9rem;
  box-shadow: 0 10px 22px rgba(8,53,28,.05);
}
.bp-artilheiro__pos { font-weight: 900; color: #0d5f30; min-width: 30px; }
.bp-artilheiro__foto { width: 54px; height: 54px; }
.bp-artilheiro__info { flex: 1; min-width: 0; }
.bp-artilheiro__nome { display: block; color: #21384a; line-height: 1.15; }
.bp-artilheiro__escola { display: block; font-size: .82rem; color: #6f8190; }
.bp-artilheiro__gols {
  font-weight: 800;
  color: #0d5f30;
  background: rgba(15,109,53,.08);
  border-radius: 999px;
  padding: .35rem .7rem;
  white-space: nowrap;
}

/* Bloco destacado — artilheiros do campeonato (logo após a classificação) */
.bp-bloco--artilheiros {
  position: relative;
  margin-top: 2rem;
  padding: 1.85rem 1.65rem 1.65rem;
  border-radius: 24px;
  background:
    radial-gradient(circle at 12% 0%, rgba(242,201,76,.14), transparent 42%),
    radial-gradient(circle at 88% 100%, rgba(15,109,53,.10), transparent 38%),
    linear-gradient(180deg, #f4fbf6 0%, #fff 55%, #f8fcf9 100%);
  border: 1px solid rgba(15,109,53,.14);
  box-shadow: 0 20px 44px rgba(8,53,28,.09);
  overflow: hidden;
}
.bp-bloco--artilheiros::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #0a5a2e 0%, #2b9653 50%, #0a5a2e 100%);
}
.bp-bloco--artilheiros .section-title {
  font-size: 1.38rem;
  margin-bottom: .45rem;
}
.bp-bloco--artilheiros .section-title i {
  width: 2.45rem;
  height: 2.45rem;
  font-size: 1rem;
  color: #fff;
  background: linear-gradient(135deg, #0a5a2e 0%, #1d7b43 100%);
  box-shadow: 0 8px 18px rgba(8,53,28,.18);
}
.bp-bloco--artilheiros > .section-subtitle {
  margin: 0 0 1.35rem;
  max-width: 52rem;
  color: #4d6475;
  font-size: .95rem;
}

/* Artilheiros do campeonato — pódio + cards estilo FIFA/Ultimate Team */
.bp-artilheiros-camp { display: flex; flex-direction: column; gap: 1.35rem; }
.bp-artilheiros-camp__podium {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem 1.15rem;
  padding: .5rem .25rem 0;
}
.bp-fifa-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 1rem;
}
.bp-fifa-grid--demais {
  padding-top: .35rem;
  border-top: 1px dashed rgba(15,109,53,.16);
}
.bp-fifa-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  width: 100%;
  padding: 1.65rem 1rem 1.1rem;
  border: 0;
  border-radius: 20px;
  text-align: center;
  color: #eafff2;
  background: linear-gradient(165deg, #0a5a2e 0%, #08351c 100%);
  box-shadow: 0 16px 34px rgba(8,53,28,.20);
  cursor: pointer;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.bp-fifa-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 78px;
  background: radial-gradient(circle at 50% 0, rgba(255,255,255,.18), rgba(255,255,255,0) 72%);
  pointer-events: none;
}
.bp-fifa-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 42%;
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.16) 100%);
  pointer-events: none;
}
.bp-fifa-card:hover { transform: translateY(-6px); box-shadow: 0 26px 48px rgba(8,53,28,.30); }
.bp-fifa-card:focus-visible { outline: 3px solid #f2c94c; outline-offset: 3px; }
.bp-fifa-card__medalha {
  position: absolute;
  top: .55rem;
  left: 50%;
  transform: translateX(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 50%;
  font-size: .72rem;
  color: #7a5e00;
  background: linear-gradient(135deg, #ffe08a 0%, #f2c94c 100%);
  box-shadow: 0 4px 10px rgba(0,0,0,.18);
  z-index: 2;
}
.bp-fifa-card--2 .bp-fifa-card__medalha { color: #4a565f; background: linear-gradient(135deg, #eef2f5 0%, #c5ced6 100%); }
.bp-fifa-card--3 .bp-fifa-card__medalha { color: #6d3d17; background: linear-gradient(135deg, #ffe0c2 0%, #d4955c 100%); }
.bp-fifa-card__pos {
  position: absolute;
  top: .65rem;
  left: .75rem;
  font-size: .8rem;
  font-weight: 900;
  color: rgba(255,255,255,.82);
  z-index: 2;
}
.bp-fifa-card__nota {
  position: absolute;
  top: .55rem;
  right: .75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  color: #ffe08a;
  z-index: 2;
}
.bp-fifa-card__nota b { font-size: 1.45rem; font-weight: 900; }
.bp-fifa-card__nota small { font-size: .54rem; letter-spacing: .08em; opacity: .88; }
.bp-fifa-card__foto-wrap {
  position: relative;
  margin-top: .85rem;
  z-index: 2;
}
.bp-fifa-card__foto {
  width: 92px;
  height: 92px;
  border: 4px solid rgba(255,255,255,.42);
  box-shadow: 0 10px 22px rgba(0,0,0,.30);
}
.bp-fifa-card__nome {
  position: relative;
  margin-top: .35rem;
  font-weight: 800;
  font-size: .98rem;
  line-height: 1.2;
  color: #fff;
  z-index: 2;
}
.bp-fifa-card__escola {
  position: relative;
  font-size: .74rem;
  color: rgba(234,255,242,.86);
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  z-index: 2;
}
.bp-fifa-card__escola i { opacity: .82; margin-right: .18rem; }
.bp-fifa-card__ver {
  position: relative;
  margin-top: .65rem;
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #08351c;
  background: #ffe08a;
  border-radius: 999px;
  padding: .32rem .78rem;
  z-index: 2;
}
.bp-fifa-card__ver i { margin-right: .28rem; }

/* Pódio: destaque visual aos 3 primeiros alunos artilheiros */
.bp-fifa-card--podium {
  flex: 0 1 210px;
  max-width: 230px;
  min-height: 290px;
}
.bp-fifa-card--podium.bp-fifa-card--1 {
  flex-basis: 250px;
  max-width: 270px;
  min-height: 330px;
  padding-top: 2rem;
  transform: translateY(-10px);
  box-shadow: 0 24px 50px rgba(122,94,0,.28);
}
.bp-fifa-card--podium.bp-fifa-card--1:hover { transform: translateY(-16px); }
.bp-fifa-card--podium.bp-fifa-card--1 .bp-fifa-card__foto {
  width: 112px;
  height: 112px;
  border-width: 5px;
}
.bp-fifa-card--podium.bp-fifa-card--1 .bp-fifa-card__nome { font-size: 1.08rem; }
.bp-fifa-card--podium.bp-fifa-card--1 .bp-fifa-card__nota b { font-size: 1.75rem; }
.bp-fifa-card--podium.bp-fifa-card--1 .bp-fifa-card__medalha {
  width: 2rem;
  height: 2rem;
  font-size: .88rem;
}
.bp-fifa-card--podium.bp-fifa-card--2,
.bp-fifa-card--podium.bp-fifa-card--3 {
  min-height: 300px;
}
.bp-fifa-card--podium.bp-fifa-card--2 .bp-fifa-card__foto,
.bp-fifa-card--podium.bp-fifa-card--3 .bp-fifa-card__foto {
  width: 100px;
  height: 100px;
}

/* Cores do pódio (ouro, prata, bronze) */
.bp-fifa-card--1 { background: linear-gradient(165deg, #d4ad2f 0%, #8a6a00 52%, #6b5200 100%); color: #fff8e1; }
.bp-fifa-card--1 .bp-fifa-card__nota { color: #fff; }
.bp-fifa-card--1 .bp-fifa-card__ver { background: #1b2f3f; color: #ffe08a; }
.bp-fifa-card--1 .bp-fifa-card__escola { color: rgba(255,248,225,.92); }
.bp-fifa-card--2 { background: linear-gradient(165deg, #9aa8b5 0%, #5f6d78 52%, #4a565f 100%); color: #f7fafc; }
.bp-fifa-card--2 .bp-fifa-card__ver { background: #eef2f5; color: #33414d; }
.bp-fifa-card--3 { background: linear-gradient(165deg, #c07a3f 0%, #8a4f22 52%, #6d3d17 100%); color: #fff2e6; }
.bp-fifa-card--3 .bp-fifa-card__ver { background: #ffe0c2; color: #6d3d17; }

/* Modal do artilheiro (gols por partida) */
.bp-fifa-modal { border: 0; border-radius: 20px; overflow: hidden; }
.bp-fifa-modal__header {
  position: relative;
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 1.15rem 1.25rem;
  color: #fff;
  background: linear-gradient(135deg, #0a5a2e 0%, #1d7b43 55%, #2b9653 100%);
}
.bp-fifa-modal__foto { width: 62px; height: 62px; border: 3px solid rgba(255,255,255,.4); }
.bp-fifa-modal__id { flex: 1; min-width: 0; }
.bp-fifa-modal__id strong { display: block; font-size: 1.1rem; line-height: 1.2; }
.bp-fifa-modal__id span { font-size: .8rem; opacity: .9; }
.bp-fifa-modal__id span i { margin-right: .2rem; }
.bp-fifa-modal__total {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
  padding: .4rem .7rem;
  border-radius: 12px;
  background: rgba(255,255,255,.16);
}
.bp-fifa-modal__total b { font-size: 1.4rem; font-weight: 900; }
.bp-fifa-modal__total small { font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; opacity: .9; }
.bp-fifa-modal__fechar { position: absolute; top: .7rem; right: .7rem; }
.bp-fifa-modal__titulo {
  display: flex;
  align-items: center;
  gap: .4rem;
  margin: 0 0 .8rem;
  font-weight: 800;
  color: #1b2f3f;
}
.bp-fifa-modal__titulo i { color: #0d5f30; }
.bp-fifa-modal__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.bp-fifa-modal__jogo {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .6rem .75rem;
  border: 1px solid rgba(15,109,53,.10);
  border-radius: 12px;
  background: #f6faf7;
}
.bp-fifa-modal__gols-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  flex: none;
  border-radius: 50%;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #0a5a2e, #2b9653);
}
.bp-fifa-modal__jogo-info { flex: 1; min-width: 0; }
.bp-fifa-modal__confronto { display: block; font-weight: 700; color: #1b2f3f; font-size: .9rem; }
.bp-fifa-modal__data { display: block; font-size: .76rem; color: #6f8190; }
.bp-fifa-modal__data i { margin-right: .2rem; }
.bp-fifa-modal__link {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .78rem;
  font-weight: 700;
  text-decoration: none;
  color: #0d5f30;
  background: rgba(15,109,53,.10);
  border-radius: 999px;
  padding: .3rem .7rem;
  white-space: nowrap;
}
.bp-fifa-modal__link:hover { background: #0d5f30; color: #fff; }
.bp-fifa-modal__semlink { font-size: .72rem; color: #b0bcc5; white-space: nowrap; }

/* Perfil público do aluno (card FIFA) — segue offset de .bp-page */
.bp-aluno.bp-page {
  padding-bottom: clamp(3rem, 6vw, 5rem);
}

.bp-aluno-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  font-size: .85rem;
  color: var(--bp-muted);
  margin-bottom: 1.5rem;
}
.bp-aluno-breadcrumb a {
  color: var(--bp-green);
  font-weight: 700;
  text-decoration: none;
}
.bp-aluno-breadcrumb a:hover { color: var(--bp-green-dark); text-decoration: underline; }

.bp-aluno-hero {
  display: grid;
  grid-template-columns: minmax(180px, 280px) 1fr;
  gap: 1.75rem 2.25rem;
  align-items: center;
  padding: 1.6rem 1.5rem;
  border-radius: 28px;
  background:
    radial-gradient(ellipse 80% 70% at 12% 20%, rgba(166, 239, 96, .22), transparent 55%),
    linear-gradient(145deg, #08351c 0%, #0f6d35 48%, #0a4a28 100%);
  color: #fff;
  box-shadow: 0 22px 48px rgba(8, 53, 28, .28);
  overflow: hidden;
  position: relative;
  margin-bottom: .25rem;
  animation: bp-aluno-hero-in .55s cubic-bezier(.22, 1, .36, 1) both;
}
.bp-aluno-hero::before {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  top: -140px;
  right: -100px;
  background: rgba(255, 255, 255, .06);
  pointer-events: none;
}
.bp-aluno-hero__foto-wrap {
  position: relative;
  z-index: 1;
  width: min(100%, 280px);
  aspect-ratio: 1;
  margin: 0 auto;
  border-radius: 24px;
  overflow: hidden;
  border: 4px solid rgba(255, 255, 255, .35);
  box-shadow: 0 16px 36px rgba(0, 0, 0, .28);
  background: linear-gradient(145deg, rgba(15, 109, 53, .95), rgba(0, 0, 0, .85));
  display: flex;
  align-items: center;
  justify-content: center;
  animation: bp-aluno-foto-in .7s cubic-bezier(.22, 1, .36, 1) .08s both;
}
.bp-aluno-hero__foto {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
.bp-aluno-hero:hover .bp-aluno-hero__foto { transform: scale(1.04); }
.bp-aluno-hero__iniciais {
  font-size: clamp(2.8rem, 8vw, 4.2rem);
  font-weight: 900;
  letter-spacing: .06em;
  color: #fff;
  line-height: 1;
}
.bp-aluno-hero__info {
  position: relative;
  z-index: 1;
  min-width: 0;
  animation: bp-aluno-info-in .6s cubic-bezier(.22, 1, .36, 1) .16s both;
}
.bp-aluno-hero__selo {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  margin: 0 0 .55rem;
  padding: .35rem .75rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .18);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.bp-aluno-hero__selo i { color: var(--bp-lime); }
.bp-aluno-hero__nome {
  margin: 0 0 .4rem;
  font-size: clamp(1.65rem, 3.5vw, 2.55rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.02em;
}
.bp-aluno-hero__meta {
  margin: 0 0 .85rem;
  font-size: 1rem;
  opacity: .9;
  font-weight: 600;
}
.bp-aluno-hero__unidade {
  display: flex;
  align-items: center;
  gap: .85rem;
  margin: 0 0 1.2rem;
  padding: .7rem .85rem;
  max-width: 28rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .2);
  color: #fff;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease, border-color .2s ease;
}
a.bp-aluno-hero__unidade:hover,
a.bp-aluno-hero__unidade:focus-visible {
  background: rgba(255, 255, 255, .2);
  border-color: rgba(255, 255, 255, .35);
  color: #fff;
  transform: translateY(-2px);
}
.bp-aluno-hero__unidade-logo {
  width: 56px;
  height: 56px;
  flex: none;
  object-fit: contain;
  border-radius: 14px;
  background: #fff;
  border: 2px solid rgba(255, 255, 255, .9);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .2);
}
.bp-aluno-hero__unidade-logo--ini {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: .04em;
  color: var(--bp-green);
  background: linear-gradient(145deg, #fff 0%, #eef8ef 100%);
}
.bp-aluno-hero__unidade-info {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .12rem;
}
.bp-aluno-hero__unidade-info small {
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .8;
}
.bp-aluno-hero__unidade-info strong {
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.bp-aluno-hero__unidade-cta {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .75rem;
  font-weight: 800;
  white-space: nowrap;
  opacity: .92;
}
.bp-aluno-hero__unidade-cta i { font-size: .7rem; }
.bp-aluno-hero__stats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
}
.bp-aluno-hero__stats li {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  padding: .85rem .7rem;
  border-radius: 16px;
  background: rgba(0, 0, 0, .22);
  border: 1px solid rgba(255, 255, 255, .12);
  text-align: center;
  transition: transform .25s ease, background .25s ease;
}
.bp-aluno-hero__stats li:hover {
  transform: translateY(-3px);
  background: rgba(0, 0, 0, .32);
}
.bp-aluno-hero__stats strong {
  font-size: clamp(1.35rem, 2.8vw, 1.85rem);
  font-weight: 900;
  line-height: 1;
  color: var(--bp-lime);
}
.bp-aluno-hero__stats span {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  opacity: .85;
}

.bp-aluno-gols { margin-top: 2rem; }
.bp-aluno-gols-bloco { margin-top: 0; }
.bp-aluno-gols-bloco .section-title.h4 {
  font-size: clamp(1.15rem, 2.2vw, 1.4rem);
  margin-bottom: 1rem;
}
.bp-aluno-gols-lista .bp-fifa-modal__jogo {
  transition: transform .2s ease, box-shadow .2s ease;
}
.bp-aluno-gols-lista .bp-fifa-modal__jogo:hover {
  transform: translateX(3px);
  box-shadow: 0 8px 20px rgba(8, 53, 28, .1);
}
.bp-aluno-voltar {
  margin-top: 2rem;
  margin-bottom: 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--bp-border);
}

@keyframes bp-aluno-hero-in {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
@keyframes bp-aluno-foto-in {
  from { opacity: 0; transform: scale(.92); }
  to { opacity: 1; transform: none; }
}
@keyframes bp-aluno-info-in {
  from { opacity: 0; transform: translateX(12px); }
  to { opacity: 1; transform: none; }
}

@media (max-width: 767.98px) {
  .bp-aluno-hero {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 1.35rem 1.1rem 1.45rem;
    gap: 1.25rem;
  }
  .bp-aluno-hero__foto-wrap { width: min(72vw, 220px); }
  .bp-aluno-hero__selo { margin-left: auto; margin-right: auto; }
  .bp-aluno-hero__unidade {
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    max-width: 100%;
  }
  .bp-aluno-hero__unidade-cta { display: none; }
  .bp-aluno-hero__stats { gap: .5rem; }
  .bp-aluno-hero__stats li { padding: .7rem .45rem; }
  .bp-aluno-hero__stats span { font-size: .62rem; }
  .bp-aluno-gols-lista .bp-fifa-modal__jogo {
    flex-wrap: wrap;
  }
  .bp-aluno-gols-lista .bp-fifa-modal__link,
  .bp-aluno-gols-lista .bp-fifa-modal__semlink {
    width: 100%;
    text-align: center;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bp-aluno-hero,
  .bp-aluno-hero__foto-wrap,
  .bp-aluno-hero__info {
    animation: none;
  }
  .bp-aluno-hero:hover .bp-aluno-hero__foto { transform: none; }
  .bp-aluno-hero__stats li:hover,
  .bp-aluno-gols-lista .bp-fifa-modal__jogo:hover {
    transform: none;
  }
  a.bp-aluno-hero__unidade:hover,
  a.bp-aluno-hero__unidade:focus-visible {
    transform: none;
  }
}

/* Placar (hero) */
.bp-placar-hero {
  background: linear-gradient(135deg, #0a5a2e 0%, #1d7b43 48%, #2b9653 100%);
  border-radius: 26px;
  padding: 1.8rem 1.4rem;
  color: #fff;
  text-align: center;
}
.bp-placar-linha {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  margin: .5rem 0;
}
.bp-placar-time { display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.bp-placar-time .match-badge-circle { margin-bottom: 0; }
.bp-placar-time__nome { font-weight: 800; font-size: .95rem; max-width: 170px; }
.bp-placar-numeros { font-size: 2.6rem; font-weight: 900; display: flex; align-items: center; gap: .6rem; }
.bp-placar-numeros em { font-size: 1.4rem; opacity: .8; font-style: normal; }
.bp-placar-pendente { font-size: 1.6rem; }
.bp-placar-data { margin: .5rem 0 0; opacity: .9; }

/* Marcadores */
.bp-marcadores {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 1rem;
}
.bp-marcador {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  background: #fff;
  border: 1px solid rgba(15,109,53,.10);
  border-radius: 999px;
  padding: .3rem .7rem .3rem .3rem;
  margin: 0 .35rem .5rem 0;
  font-size: .9rem;
  color: #21384a;
}
.bp-marcador__foto { width: 34px; height: 34px; font-size: .78rem; }
.bp-marcador b { color: #0d5f30; }

/* Capa do campeonato */
.bp-evento-capa {
  border-radius: 26px;
  overflow: hidden;
  background: #0a5a2e center/cover no-repeat;
  min-height: 220px;
  display: flex;
  align-items: flex-end;
}
.bp-evento-capa__overlay {
  width: 100%;
  padding: 1.6rem 1.4rem;
  background: linear-gradient(180deg, rgba(8,53,28,0) 0%, rgba(8,53,28,.85) 100%);
  color: #fff;
}
.bp-evento-capa__titulo { font-weight: 900; margin: .3rem 0 .2rem; }
.bp-evento-capa__meta { margin: 0; opacity: .9; }

/* Card de jogo (resultado) */
.bp-jogo-card {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: .8rem;
  background: #fff;
  border: 1px solid rgba(15,109,53,.10);
  border-radius: 18px;
  padding: 1rem;
  text-decoration: none;
  color: #21384a;
  box-shadow: 0 10px 22px rgba(8,53,28,.05);
  transition: transform .18s ease, box-shadow .18s ease;
}
.bp-jogo-card:hover { transform: translateY(-3px); box-shadow: 0 16px 30px rgba(8,53,28,.12); color: #21384a; }
.bp-jogo-card__time { display: flex; flex-direction: column; align-items: center; gap: .4rem; text-align: center; font-weight: 700; font-size: .88rem; }
.bp-jogo-card__time .match-badge-circle { width: 56px; height: 56px; font-size: 1rem; margin: 0; background: rgba(15,109,53,.08); color: #0d5f30; border-color: rgba(15,109,53,.14); }
.bp-jogo-card__placar { font-weight: 900; font-size: 1.5rem; color: #0d5f30; }
.bp-jogo-card__placar em { font-size: .9rem; opacity: .6; font-style: normal; }

/* Título destacado do jogo (abaixo do placar, acima da crônica) */
.bp-jogo-titulo {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1.5rem 0 0;
  padding: 1.1rem 1.4rem;
  background: #fff;
  border: 1px solid rgba(15,109,53,.12);
  border-left: 5px solid #0d5f30;
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(8,53,28,.06);
}
.bp-jogo-titulo__selo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 3rem;
  height: 3rem;
  border-radius: 14px;
  background: linear-gradient(135deg, #0a5a2e, #2b9653);
  color: #fff;
  font-size: 1.3rem;
  box-shadow: 0 6px 14px rgba(15,109,53,.28);
}
.bp-jogo-titulo__label {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #0d5f30;
}
.bp-jogo-titulo__texto {
  margin: .1rem 0 0;
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  font-weight: 900;
  line-height: 1.1;
  color: #1b2f3f;
}

/* Layout do pós-jogo: conteúdo principal + lateral de artilheiros */
.bp-posjogo-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 1.9rem;
  align-items: start;
  margin-top: 1.6rem;
}
.bp-posjogo-grid__main > .bp-bloco:first-child { margin-top: 0; }
.bp-posjogo-grid__side { position: sticky; top: calc(var(--bp-navbar-offset, 90px) + 1rem); }

/* Ficha técnica do amistoso (escolinha, local, coach e descrição) */
.bp-ficha {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .9rem;
  margin-bottom: 1.2rem;
}
.bp-ficha__item {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  padding: .85rem 1rem;
  background: #fff;
  border: 1px solid rgba(15,109,53,.10);
  border-radius: 14px;
  box-shadow: 0 6px 18px rgba(8,53,28,.05);
}
.bp-ficha__label {
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #0d5f30;
}
.bp-ficha__label i { margin-right: .3rem; }
.bp-ficha__valor { color: #1b2f3f; font-size: .98rem; line-height: 1.3; }
.bp-ficha__coach { display: flex; align-items: center; gap: .6rem; }
.bp-ficha__coach-foto { width: 40px; height: 40px; font-size: .85rem; }
.bp-ficha__descricao { margin-top: .2rem; }

/* Pós-jogo (crônica): cartão claro e leve */
.bp-posjogo {
  color: #4a5b68;
  line-height: 1.75;
  background: #fff;
  border: 1px solid rgba(15,109,53,.10);
  border-radius: 18px;
  padding: 1.4rem 1.5rem;
  box-shadow: 0 6px 18px rgba(8,53,28,.05);
}
.bp-posjogo > :first-child { margin-top: 0; }
.bp-posjogo > :last-child { margin-bottom: 0; }
.bp-posjogo img { max-width: 100%; height: auto; border-radius: 12px; }

/* Painel destacado: artilheiros do jogo (lateral direita) */
.bp-jogo-artilheiros {
  background: #fff;
  border: 1px solid rgba(15,109,53,.12);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 14px 32px rgba(8,53,28,.08);
}
.bp-jogo-artilheiros__titulo {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin: 0;
  padding: 1rem 1.15rem;
  font-size: 1.02rem;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, #0a5a2e 0%, #1d7b43 55%, #2b9653 100%);
}
.bp-jogo-artilheiros__icone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(255,255,255,.18);
  font-size: .9rem;
}
.bp-jogo-artilheiros__vazio { margin: 0; padding: 1.1rem 1.15rem; color: #6f8190; font-size: .92rem; }
.bp-jogo-artilheiros__lista { list-style: none; margin: 0; padding: .5rem; display: flex; flex-direction: column; gap: .2rem; }
.bp-jogo-artilheiro {
  display: flex;
  align-items: center;
  gap: .7rem;
  padding: .6rem .65rem;
  border-radius: 14px;
  transition: background-color .15s ease;
}
.bp-jogo-artilheiro:hover { background: rgba(15,109,53,.06); }
.bp-jogo-artilheiro__foto { width: 46px; height: 46px; font-size: .9rem; }
.bp-jogo-artilheiro__info { flex: 1; min-width: 0; }
.bp-jogo-artilheiro__nome {
  display: block;
  color: #1b2f3f;
  font-size: .92rem;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bp-jogo-artilheiro__time {
  display: block;
  font-size: .76rem;
  color: #6f8190;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bp-jogo-artilheiro__gols {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 3rem;
  padding: .3rem .55rem;
  border-radius: 12px;
  background: rgba(15,109,53,.09);
  color: #0d5f30;
  line-height: 1;
}
.bp-jogo-artilheiro__gols b { font-size: 1.15rem; font-weight: 900; }
.bp-jogo-artilheiro__gols small { font-size: .62rem; text-transform: uppercase; letter-spacing: .04em; opacity: .8; }
/* Destaque do artilheiro do jogo (primeiro da lista, mais gols) */
.bp-jogo-artilheiro:first-child .bp-jogo-artilheiro__gols {
  background: linear-gradient(135deg, #0a5a2e, #2b9653);
  color: #fff;
}
.bp-jogo-artilheiro:first-child .bp-jogo-artilheiro__foto {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(15,109,53,.35);
}

@media (max-width: 991.98px) {
  .bp-posjogo-grid { grid-template-columns: 1fr; gap: 1.4rem; }
  .bp-posjogo-grid__side { position: static; order: -1; }
}
.bp-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .8rem; }
.bp-galeria__item { position: relative; display: block; border-radius: 14px; overflow: hidden; aspect-ratio: 4/3; }
.bp-galeria__item > img:not(.bp-galeria__marca) {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .25s ease;
}
.bp-galeria__item:hover > img:not(.bp-galeria__marca) { transform: scale(1.05); }
.bp-galeria__legenda {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: .4rem .6rem;
  font-size: .78rem;
  color: #fff;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.65));
  z-index: 1;
}
/* Miniatura como botão (abre o lightbox) + marca d'água sobreposta */
.bp-galeria__item--btn { padding: 0; border: none; cursor: pointer; background: none; width: 100%; }
.bp-galeria__marca {
  position: absolute;
  right: 8px; bottom: 8px;
  width: 34%;
  max-width: 92px;
  height: auto;
  object-fit: contain;
  opacity: .92;
  pointer-events: none;
  z-index: 2;
  transform: none;
}

/* Lightbox / slider das fotos (mesmo comportamento do pós-jogo do painel) */
.bp-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1080;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 3.5rem 1rem 4.5rem;
  background: rgba(6, 26, 15, .92);
  backdrop-filter: blur(2px);
}
.bp-lightbox.is-open { display: flex; }
body.bp-lightbox-open { overflow: hidden; }
.bp-lightbox__figura {
  margin: 0;
  max-width: min(960px, 100%);
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .75rem;
}
.bp-lightbox__frame {
  position: relative;
  display: inline-flex;
  max-width: 100%;
}
.bp-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: 76vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .5);
  background: #0b1f13;
}
.bp-lightbox__frame .bp-lightbox__marca {
  position: absolute;
  right: 12px; bottom: 12px;
  width: 26%;
  max-width: 130px;
  opacity: .92;
  pointer-events: none;
}
.bp-lightbox__legenda {
  max-width: 640px;
  margin: 0;
  padding: .5rem .85rem;
  text-align: center;
  color: #eafaf0;
  font-size: .9rem;
  background: rgba(0, 0, 0, .35);
  border-radius: 8px;
}
.bp-lightbox__close,
.bp-lightbox__nav {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border: none;
  cursor: pointer;
  background: rgba(255, 255, 255, .12);
  transition: background .18s ease, transform .18s ease;
}
.bp-lightbox__close {
  top: 1rem; right: 1rem;
  width: 44px; height: 44px;
  border-radius: 50%;
  font-size: 1.15rem;
}
.bp-lightbox__nav {
  top: 50%;
  transform: translateY(-50%);
  width: 52px; height: 52px;
  border-radius: 50%;
  font-size: 1.35rem;
}
.bp-lightbox__nav--prev { left: 1rem; }
.bp-lightbox__nav--next { right: 1rem; }
.bp-lightbox__close:hover,
.bp-lightbox__nav:hover { background: var(--bp-verde, #0f6d35); }
.bp-lightbox__nav:hover { transform: translateY(-50%) scale(1.06); }
.bp-lightbox__contador {
  position: absolute;
  left: 50%;
  bottom: 1.15rem;
  transform: translateX(-50%);
  color: #eafaf0;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: .02em;
}
.bp-lightbox__download {
  position: absolute;
  right: 1.15rem;
  bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem .9rem;
  color: #fff;
  font-size: .85rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 999px;
  background: var(--bp-verde, #0f6d35);
  transition: filter .18s ease;
}
.bp-lightbox__download:hover { filter: brightness(1.1); color: #fff; }
@media (max-width: 575.98px) {
  .bp-lightbox { padding: 3rem .5rem 4.5rem; }
  .bp-lightbox__nav { width: 42px; height: 42px; font-size: 1.1rem; }
  .bp-lightbox__nav--prev { left: .35rem; }
  .bp-lightbox__nav--next { right: .35rem; }
  .bp-lightbox__download { right: 50%; transform: translateX(50%); bottom: .5rem; }
  .bp-lightbox__contador { bottom: 2.6rem; }
}

/* Comentários (somente leitura) */
.bp-comentarios { display: flex; flex-direction: column; gap: 1rem; }
.bp-comentario {
  position: relative;
  display: flex;
  gap: .9rem;
  background: #fff;
  border: 1px solid rgba(15,109,53,.12);
  border-radius: 18px;
  padding: 1rem 1.15rem;
  box-shadow: 0 6px 18px rgba(8,53,28,.05);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.bp-comentario:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(8,53,28,.10);
  border-color: rgba(15,109,53,.22);
}
/* Respostas: recuo com linha de conexão (threading) */
.bp-comentario--resposta {
  margin-left: 2.6rem;
  background: #f6faf7;
  border-color: rgba(15,109,53,.14);
  box-shadow: none;
}
.bp-comentario--resposta::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.35rem;
  width: 1.35rem;
  height: 2px;
  background: rgba(15,109,53,.22);
}
.bp-comentario--resposta::after {
  content: "";
  position: absolute;
  top: -.55rem;
  bottom: 50%;
  left: -1.35rem;
  width: 2px;
  background: rgba(15,109,53,.22);
}
.bp-comentario__foto {
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px rgba(15,109,53,.18);
}
.bp-comentario--resposta .bp-comentario__foto { width: 38px; height: 38px; }
.bp-comentario__corpo { flex: 1; min-width: 0; }
.bp-comentario__topo { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-bottom: .35rem; }
.bp-comentario__topo strong { color: #1b2f3f; font-size: .98rem; }
.bp-comentario__time {
  font-size: .68rem;
  font-weight: 700;
  color: #0d5f30;
  text-transform: uppercase;
  letter-spacing: .02em;
  background: rgba(15,109,53,.10);
  padding: .12rem .5rem;
  border-radius: 999px;
}
.bp-comentario__data { font-size: .76rem; color: #98a7b2; margin-left: auto; }
.bp-comentario__data::before { content: "\f017"; font-family: "Font Awesome 6 Free","Font Awesome 5 Free",sans-serif; font-weight: 400; margin-right: .3rem; opacity: .7; }
.bp-comentario__texto { color: #43535f; line-height: 1.6; word-wrap: break-word; }
.bp-comentario__texto p:last-child { margin-bottom: 0; }

@media (max-width: 575.98px) {
  .bp-comentario { padding: .85rem .9rem; gap: .7rem; }
  .bp-comentario--resposta { margin-left: 1.5rem; }
  .bp-comentario--resposta::before,
  .bp-comentario--resposta::after { left: -.9rem; width: .9rem; }
  .bp-comentario--resposta::after { width: 2px; }
  .bp-comentario__data { margin-left: 0; width: 100%; }
}

@media (max-width: 767px) {
  .bp-artilheiros { grid-template-columns: 1fr; }
  .bp-bloco--artilheiros { padding: 1.35rem 1.1rem 1.2rem; border-radius: 20px; }
  .bp-bloco--artilheiros .section-title { font-size: 1.18rem; }
  .bp-artilheiros-camp__podium {
    display: grid;
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: .85rem;
  }
  .bp-fifa-card--podium,
  .bp-fifa-card--podium.bp-fifa-card--1,
  .bp-fifa-card--podium.bp-fifa-card--2,
  .bp-fifa-card--podium.bp-fifa-card--3 {
    flex: none;
    max-width: none;
    min-height: 0;
    transform: none;
  }
  .bp-fifa-card--podium.bp-fifa-card--1:hover { transform: translateY(-4px); }
  .bp-fifa-card--podium.bp-fifa-card--1 { order: 1; }
  .bp-fifa-card--podium.bp-fifa-card--2 { order: 2; }
  .bp-fifa-card--podium.bp-fifa-card--3 { order: 3; }
  .bp-fifa-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
  .bp-fifa-card { padding: 1.35rem .75rem 1rem; }
  .bp-fifa-card__foto { width: 78px; height: 78px; }
  .bp-fifa-card--podium.bp-fifa-card--1 .bp-fifa-card__foto,
  .bp-fifa-card--podium.bp-fifa-card--2 .bp-fifa-card__foto,
  .bp-fifa-card--podium.bp-fifa-card--3 .bp-fifa-card__foto { width: 88px; height: 88px; }
  .bp-marcadores { grid-template-columns: 1fr; }
  .bp-marcadores .text-lg-end { text-align: left !important; }
  .bp-placar-numeros { font-size: 2rem; }
}

/* Carrossel lateral da vitrine (campeonatos + amistosos) na home #amistosos.
   Espaço lateral para as setas ficarem fora dos cards em telas grandes. */
.bp-vitrine-carousel { position: relative; padding: 0 3.2rem; }
.bp-vitrine-carousel .carousel-item { padding: .4rem .2rem 1rem; }
.bp-vitrine-carousel .carousel-control-prev,
.bp-vitrine-carousel .carousel-control-next {
  width: 2.6rem;
  height: 2.6rem;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background: linear-gradient(135deg, #0a5a2e 0%, #1d7b43 100%);
  box-shadow: 0 10px 22px rgba(8,53,28,.22);
  opacity: 1;
  transition: transform .15s ease, box-shadow .15s ease;
}
.bp-vitrine-carousel .carousel-control-prev { left: 0; }
.bp-vitrine-carousel .carousel-control-next { right: 0; }
.bp-vitrine-carousel .carousel-control-prev:hover,
.bp-vitrine-carousel .carousel-control-next:hover {
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 14px 26px rgba(8,53,28,.3);
}
.bp-vitrine-carousel .carousel-control-prev-icon,
.bp-vitrine-carousel .carousel-control-next-icon { width: 1.1rem; height: 1.1rem; }
.bp-vitrine-carousel__dots { position: static; margin: .6rem 0 0; }
.bp-vitrine-carousel__dots [data-bs-target] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  background-color: rgba(15,109,53,.28);
  opacity: 1;
}
.bp-vitrine-carousel__dots [data-bs-target].active { background-color: #0d5f30; }

@media (max-width: 767px) {
  .bp-vitrine-carousel { padding: 0; }
  .bp-vitrine-carousel .carousel-control-prev,
  .bp-vitrine-carousel .carousel-control-next { display: none; }
}

/* ==========================================================================
   Depoimentos públicos — card em destaque + carrossel (3 por slide).
   Classes: .depo-avatar, .bp-depoimentos-carousel (home e /depoimentos.html).
   ========================================================================== */

.depo-avatar.mini-icon,
.depo-avatar {
  position: relative;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(145deg, #0a5a2e 0%, #2b9653 55%, #a6ef60 140%);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: .02em;
  flex-shrink: 0;
  border: 3px solid #fff;
  box-shadow:
    0 0 0 2px rgba(15, 109, 53, .28),
    0 10px 22px rgba(8, 53, 28, .18);
}

.depo-avatar__ini {
  position: relative;
  z-index: 1;
  line-height: 1;
  text-transform: uppercase;
  user-select: none;
}

.depo-avatar__img {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.depo-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 1.55rem 1.4rem 1.2rem;
  background:
    linear-gradient(165deg, rgba(15, 109, 53, .07) 0%, rgba(255, 255, 255, 0) 42%),
    #fff;
  border: 1px solid rgba(15, 109, 53, .14);
  border-radius: 24px;
  box-shadow:
    0 18px 40px rgba(8, 53, 28, .1),
    inset 0 1px 0 rgba(255, 255, 255, .8);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.depo-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #0a5a2e 0%, #1d7b43 45%, #a6ef60 100%);
  border-radius: 24px 0 0 24px;
}

.depo-card:hover {
  transform: translateY(-4px);
  border-color: rgba(15, 109, 53, .28);
  box-shadow:
    0 24px 48px rgba(8, 53, 28, .16),
    inset 0 1px 0 rgba(255, 255, 255, .9);
}

.depo-card__quote {
  position: absolute;
  top: .85rem;
  right: 1.05rem;
  width: 2.6rem;
  height: 2.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(135deg, #0a5a2e 0%, #1d7b43 100%);
  color: #fff;
  font-size: 1rem;
  box-shadow: 0 10px 20px rgba(8, 53, 28, .22);
  z-index: 1;
}

.depo-card__head {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
  margin-bottom: 1.15rem;
  padding-right: 2.6rem;
}

.depo-card__ident {
  min-width: 0;
}

.depo-card__papel {
  display: inline-flex;
  align-items: center;
  margin-bottom: .25rem !important;
  padding: .18rem .55rem;
  border-radius: 999px;
  background: rgba(15, 109, 53, .1);
  color: var(--bp-green);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height: 1.2;
}

.depo-card__nome {
  margin: .2rem 0 0;
  font-size: 1.12rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: var(--bp-text);
  word-break: break-word;
}

.depo-card__unidade {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .4rem;
  font-size: .9rem;
  font-weight: 700;
  color: var(--bp-green);
  text-decoration: none;
  line-height: 1.3;
  word-break: break-word;
}

.depo-card__unidade::before {
  content: "\f1ad";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: .78rem;
  opacity: .85;
}

.depo-card__unidade:hover,
.depo-card__unidade:focus-visible {
  color: var(--bp-green-dark);
  text-decoration: underline;
}

.depo-card__unidade--static {
  font-weight: 600;
  color: var(--bp-muted);
}

.depo-card__texto {
  position: relative;
  flex: 1 1 auto;
  margin: 0 0 1.1rem;
  padding: 0;
  border: 0;
}

.depo-card__texto p {
  margin: 0;
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.65;
  color: #234433;
}

.depo-card__data {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-top: auto;
  padding: .75rem .9rem;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(15, 109, 53, .08) 0%, rgba(166, 239, 96, .16) 100%);
  border: 1px solid rgba(15, 109, 53, .1);
  font-size: .86rem;
  font-weight: 700;
  color: #0d5f30;
  line-height: 1.3;
}

.depo-card__data i {
  opacity: .8;
}

/* Carrossel: altura uniforme dos cards no slide (3 colunas em lg+). */
.bp-depoimentos-carousel .carousel-item .row > [class*="col-"] {
  display: flex;
}

.bp-depoimentos-carousel .depo-card {
  width: 100%;
}

.bp-depoimentos-pagina .bp-depoimentos-carousel {
  margin-bottom: .25rem;
}

@media (prefers-reduced-motion: reduce) {
  .depo-card,
  .depo-card:hover {
    transition: none;
    transform: none;
  }
}

/* ==========================================================================
   Detalhe do campeonato — tabela completa (classificação, jogos, chaveamento,
   pódio e destaques dos times). Tema verde #boraprofut.
   ========================================================================== */

/* Tabela genérica (classificação e jogos) */
.bp-tabela-card {
  background: #fff;
  border: 1px solid rgba(15,109,53,.10);
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(8,53,28,.05);
  overflow: hidden;
  margin-bottom: 1.1rem;
}
.bp-tabela-card:last-child { margin-bottom: 0; }
.bp-tabela-card__titulo {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .85rem 1.15rem;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, #0a5a2e 0%, #1d7b43 55%, #2b9653 100%);
}
.bp-tabela-wrap { width: 100%; overflow-x: auto; }
.bp-tabela {
  width: 100%;
  border-collapse: collapse;
  font-size: .92rem;
  color: #21384a;
}
.bp-tabela thead th {
  padding: .6rem .5rem;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: #6f8190;
  background: #f4f8f5;
  border-bottom: 1px solid rgba(15,109,53,.12);
  text-align: center;
  white-space: nowrap;
}
.bp-tabela tbody td {
  padding: .6rem .5rem;
  text-align: center;
  border-bottom: 1px solid rgba(15,109,53,.07);
  white-space: nowrap;
}
.bp-tabela tbody tr:last-child td { border-bottom: 0; }
.bp-tabela tbody tr:nth-child(even) td { background: rgba(15,109,53,.025); }
.bp-tabela__time { text-align: left !important; font-weight: 700; white-space: normal; }
.bp-tabela__pos { font-weight: 800; color: #0d5f30; }
.bp-tabela__destaque { font-weight: 900; color: #0d5f30; }

/* Tabela de jogos por seção */
.bp-jogos-secao {
  background: #fff;
  border: 1px solid rgba(15,109,53,.10);
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(8,53,28,.05);
  overflow: hidden;
  margin-bottom: 1.1rem;
}
.bp-jogos-secao:last-child { margin-bottom: 0; }
.bp-jogos-secao__cabecalho {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  padding: .8rem 1.15rem;
  color: #fff;
  background: linear-gradient(135deg, #0a5a2e 0%, #1d7b43 55%, #2b9653 100%);
}
.bp-jogos-secao__titulo { display: inline-flex; align-items: center; gap: .5rem; font-weight: 800; }
.bp-jogos-secao__badge {
  font-size: .68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  background: rgba(255,255,255,.22);
  border-radius: 999px;
  padding: .22rem .6rem;
  white-space: nowrap;
}
.bp-jogos-legenda {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin: 0 0 1rem;
  padding: .6rem .9rem;
  font-size: .84rem;
  color: #0d5f30;
  background: rgba(15,109,53,.06);
  border: 1px dashed rgba(15,109,53,.28);
  border-radius: 12px;
}
.bp-jogos-legenda i { font-size: .9rem; }
.bp-jogos-tabela td { text-align: left; }
.bp-jogos-tabela__data { font-weight: 700; color: #1b2f3f; }
.bp-jogos-tabela__hora { color: #6f8190; }
.bp-jogos-tabela__confronto { white-space: normal !important; font-weight: 600; }
.bp-jogos-tabela__x { color: #98a7b2; margin: 0 .4rem; font-style: normal; }
.bp-jogos-tabela__resultado { text-align: right !important; }
.bp-jogos-tabela__placar-wrap {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .25rem;
}
.bp-jogos-tabela__placar {
  display: inline-block;
  font-weight: 800;
  color: #0d5f30;
  background: rgba(15,109,53,.10);
  border-radius: 999px;
  padding: .28rem .7rem;
  white-space: nowrap;
}
.bp-jogos-tabela__pendente {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: #98a7b2;
  font-size: .82rem;
  white-space: nowrap;
}
.bp-jogos-tabela__detalhes {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .72rem;
  font-weight: 700;
  color: #2b9653;
  white-space: nowrap;
}
.bp-jogos-tabela__seta { transition: transform .15s ease; }

/* Linha de jogo realizado: toda a linha vira link (stretched-link) */
.bp-jogos-tabela__row.is-clicavel { position: relative; cursor: pointer; transition: background-color .15s ease; }
.bp-jogos-tabela__stretched {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  text-indent: -9999px;
}
.bp-jogos-tabela__row.is-clicavel:hover td { background: rgba(15,109,53,.07); }
.bp-jogos-tabela__row.is-clicavel:hover .bp-jogos-tabela__placar { background: #0d5f30; color: #fff; }
.bp-jogos-tabela__row.is-clicavel:hover .bp-jogos-tabela__seta { transform: translateX(3px); }
.bp-jogos-tabela__row.is-clicavel:focus-within td { background: rgba(15,109,53,.09); }
.bp-jogos-tabela__row.is-clicavel:focus-within .bp-jogos-tabela__stretched { outline: 2px solid #0d5f30; outline-offset: -2px; }

/* Chaveamento (mata-mata) */
.bp-chave { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1rem; }
.bp-chave__fase {
  background: #fff;
  border: 1px solid rgba(15,109,53,.10);
  border-radius: 18px;
  padding: 1rem 1.1rem;
  box-shadow: 0 10px 22px rgba(8,53,28,.05);
}
.bp-chave__fase-titulo {
  margin: 0 0 .7rem;
  font-size: .82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #0d5f30;
}
.bp-chave__partida {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  padding: .6rem .7rem;
  border: 1px solid rgba(15,109,53,.08);
  border-radius: 12px;
  background: #f6faf7;
  margin-bottom: .5rem;
}
.bp-chave__partida:last-child { margin-bottom: 0; }
.bp-chave__times { color: #21384a; font-size: .9rem; }
.bp-chave__times em { color: #98a7b2; font-style: normal; margin: 0 .4rem; }
.bp-chave__placar {
  font-weight: 800;
  color: #0d5f30;
  background: rgba(15,109,53,.10);
  border-radius: 999px;
  padding: .26rem .65rem;
  white-space: nowrap;
}
.bp-chave__pendente { color: #98a7b2; font-size: .8rem; white-space: nowrap; }

/* Pódio final */
.bp-podio { display: flex; flex-direction: column; gap: .7rem; }
.bp-podio__item {
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: .9rem 1.1rem;
  border-radius: 16px;
  background: #fff;
  border: 1px solid rgba(15,109,53,.12);
  box-shadow: 0 8px 20px rgba(8,53,28,.05);
}
.bp-podio__item--1 { background: linear-gradient(135deg, #fffaf0, #fff); border-color: rgba(212,160,23,.35); }
.bp-podio__medalha {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6rem;
  height: 2.6rem;
  flex: none;
  border-radius: 50%;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #0a5a2e, #2b9653);
}
.bp-podio__item--1 .bp-podio__medalha { background: linear-gradient(135deg, #c9971a, #f2c94c); color: #4a3708; }
.bp-podio__item--2 .bp-podio__medalha { background: linear-gradient(135deg, #8a97a3, #c3ced8); color: #33414d; }
.bp-podio__item--3 .bp-podio__medalha { background: linear-gradient(135deg, #a5591f, #d0884a); }
.bp-podio__info { flex: 1; min-width: 0; }
.bp-podio__rotulo {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #0d5f30;
}
.bp-podio__time { display: block; color: #1b2f3f; font-size: 1.05rem; }
.bp-podio__placar {
  font-weight: 800;
  color: #0d5f30;
  background: rgba(15,109,53,.08);
  border-radius: 999px;
  padding: .28rem .7rem;
  white-space: nowrap;
}

/* Destaques dos times (rankings de ataque/defesa) */
.bp-ranking-card {
  height: 100%;
  background: #fff;
  border: 1px solid rgba(15,109,53,.10);
  border-radius: 18px;
  box-shadow: 0 10px 22px rgba(8,53,28,.05);
  overflow: hidden;
}
.bp-ranking-card__titulo {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .8rem 1.1rem;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, #0a5a2e, #2b9653);
}
.bp-ranking-card--defesa .bp-ranking-card__titulo { background: linear-gradient(135deg, #12507e, #2f86c5); }
.bp-ranking-card--pior-ataque .bp-ranking-card__titulo { background: linear-gradient(135deg, #9a3412, #ea580c); }
.bp-ranking-card--pior-defesa .bp-ranking-card__titulo { background: linear-gradient(135deg, #991b1b, #ef4444); }
.bp-ranking-times { list-style: none; margin: 0; padding: .7rem .9rem; display: flex; flex-direction: column; gap: .45rem; }
.bp-ranking-times__item {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .5rem .65rem;
  border: 1px solid rgba(15,109,53,.08);
  border-radius: 12px;
  background: #f6faf7;
}
.bp-ranking-times__pos { font-weight: 800; color: #0d5f30; min-width: 1.6rem; }
.bp-ranking-times__nome { flex: 1; min-width: 0; color: #21384a; font-weight: 600; }
.bp-ranking-times__valor {
  font-weight: 800;
  color: #0d5f30;
  background: rgba(15,109,53,.10);
  border-radius: 999px;
  padding: .22rem .6rem;
  white-space: nowrap;
  font-size: .82rem;
}
.bp-ranking-times__vazio { margin: 0; padding: 1rem 1.1rem; color: #6f8190; font-size: .9rem; }

@media (max-width: 575.98px) {
  .bp-tabela { font-size: .82rem; }
  .bp-tabela thead th,
  .bp-tabela tbody td { padding: .5rem .35rem; }
}

/* Home — grade de escudos (#clubes) */
.clubes-head {
  max-width: 42rem;
}

.clubes-grid {
  display: grid;
  grid-template-columns: repeat(10, 1fr);
  gap: 1rem 0.75rem;
  align-items: center;
  justify-items: center;
}

.clubes-grid__item {
  width: 100%;
  margin: 0;
}

.clubes-grid__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1;
  max-width: 88px;
  margin: 0 auto;
  padding: 0.35rem;
  text-decoration: none;
  border-radius: 50%;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.clubes-grid__link:hover,
.clubes-grid__link:focus-visible {
  transform: scale(1.08);
  outline: none;
  opacity: 0.92;
}

.clubes-grid__escudo {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 72px;
  max-height: 72px;
  object-fit: contain;
  object-position: center;
}

@media (max-width: 991.98px) {
  .clubes-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 1.1rem 0.85rem;
  }
}

@media (max-width: 575.98px) {
  .clubes-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem 0.65rem;
  }

  .clubes-grid__link {
    max-width: 76px;
  }

  .clubes-grid__escudo {
    max-width: 64px;
    max-height: 64px;
  }
}

/* Hub do clube — /clube/{urli} */
.clube-hub {
  --clube-cor: var(--bp-green);
  padding: calc(var(--bp-navbar-offset)) 0 3.5rem;
}

.clube-hub .tag {
  color: var(--clube-cor);
  background: #fff;
  border-color: rgba(0, 0, 0, 0.08);
}

.clube-hub__header {
  width: 100%;
  margin: 0 0 2rem;
  padding: 1.5rem 0 1.25rem;
  min-height: 12rem;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  box-shadow: 0 10px 28px rgba(8, 53, 28, 0.08);
  overflow: hidden;
  position: relative;
  color: #fff;
}

.clube-hub__faixas {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: flex;
  flex-direction: column;
  pointer-events: none;
}

.clube-hub__faixa {
  flex: 1 1 0;
  width: 100%;
  min-height: 0;
  display: block;
}

.clube-hub__header--claro {
  color: var(--bp-text);
}

.clube-hub__header-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.35rem 1.75rem;
  position: relative;
  z-index: 1;
}

.clube-hub__breadcrumb {
  flex: 1 1 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.45rem;
  margin: 0.15rem 0 0;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(0, 0, 0, 0.14);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.clube-hub__crumb {
  --bs-badge-padding-x: 0.75em;
  --bs-badge-padding-y: 0.45em;
  --bs-badge-font-size: 0.78rem;
  --bs-badge-font-weight: 700;
  --bs-badge-color: #fff;
  background-color: var(--clube-cor);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  text-decoration: none;
  transition: opacity 0.15s ease, transform 0.15s ease, filter 0.15s ease;
}

a.clube-hub__crumb:hover,
a.clube-hub__crumb:focus-visible {
  opacity: 0.92;
  color: #fff;
  text-decoration: none;
  filter: brightness(1.05);
  transform: translateY(-1px);
}

.clube-hub__crumb--current {
  background-color: rgba(0, 0, 0, 0.55);
  cursor: default;
  box-shadow: none;
}

.clube-hub__escudo-wrap {
  flex: 0 0 auto;
  width: 120px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem;
  border-radius: 15%;
  background: rgba(255, 255, 255, 0.65);
  
  position: relative;
  z-index: 1;
}

.clube-hub__escudo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.clube-hub__header-text {
  flex: 1 1 220px;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.clube-hub__header .tag {
  background: rgba(255, 255, 255, 0.95);
  border-color: rgba(255, 255, 255, 0.4);
}

.clube-hub__header--claro .tag {
  background: #fff;
  border-color: rgba(0, 0, 0, 0.08);
}

.clube-hub__titulo {
  margin: 0 0 0.65rem;
  font-size: clamp(1.55rem, 2.6vw, 2.1rem);
  line-height: 1.15;
  font-weight: 900;
  color: inherit;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

.clube-hub__header--claro .clube-hub__titulo {
  text-shadow: none;
}

.clube-hub__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.92rem;
  font-weight: 600;
}

.clube-hub__header--claro .clube-hub__meta {
  color: var(--bp-muted);
}

.clube-hub__meta li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.clube-hub__meta i {
  color: inherit;
}

.clube-hub__header:not(.clube-hub__header--claro) .clube-hub__meta i {
  color: #fff;
}

.clube-hub__header--claro .clube-hub__meta i {
  color: var(--clube-cor);
}

.clube-hub__apresentacao {
  margin-bottom: 2.5rem;
  max-width: 52rem;
}

.clube-hub__block-head {
  max-width: 36rem;
  margin-bottom: 1.35rem;
}

.clube-hub__block-titulo {
  margin: 0 0 0.4rem;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  line-height: 1.25;
  font-weight: 800;
  color: var(--bp-text);
}

#clube-noticias-titulo {
  color: var(--clube-cor);
}

.clube-hub__block-sub {
  margin: 0;
  color: var(--bp-muted);
  font-size: 0.95rem;
  line-height: 1.45;
  max-width: 36rem;
}

.clube-hub__influencers {
  margin-bottom: 2.75rem;
}

.clube-hub__influencers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.1rem;
}

.clube-hub__influencer {
  margin: 0;
}

.clube-hub__influencer-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.85rem 1.1rem;
  height: 100%;
  padding: 1.15rem 1.2rem;
  border-radius: 20px;
  background:
    linear-gradient(145deg, #ffffff 0%, #f4faf6 100%);
  border: 1px solid var(--bp-border);
  box-shadow: 0 10px 24px rgba(8, 53, 28, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.clube-hub__influencer-card:hover {
  transform: translateY(-2px);
  border-color: var(--clube-cor);
  box-shadow: 0 14px 30px rgba(8, 53, 28, 0.09);
}

.clube-hub__influencer-perfil {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  flex: 1 1 auto;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

a.clube-hub__influencer-perfil:hover .clube-hub__influencer-nome,
a.clube-hub__influencer-perfil:focus-visible .clube-hub__influencer-nome {
  color: var(--clube-cor);
}

a.clube-hub__influencer-perfil:focus-visible {
  outline: 2px solid var(--clube-cor);
  outline-offset: 3px;
  border-radius: 12px;
}

.clube-hub__influencer-foto-wrap {
  flex: 0 0 auto;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  overflow: hidden;
  background: #eef5f0;
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px var(--clube-cor), 0 8px 18px rgba(8, 53, 28, 0.1);
}

.clube-hub__influencer-foto {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.clube-hub__influencer-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.clube-hub__influencer-papel {
  display: block;
  margin: 0;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--clube-cor);
}

.clube-hub__influencer-nome {
  display: block;
  margin: 0;
  font-size: 1.12rem;
  font-weight: 800;
  color: var(--bp-text);
  line-height: 1.25;
  transition: color 0.15s ease;
}

.clube-hub__influencer-redes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  flex: 1 1 100%;
  padding-left: calc(88px + 1.1rem);
}

.clube-hub__rede {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  color: var(--clube-cor);
  background: #fff;
  border: 1px solid var(--clube-cor);
  text-decoration: none;
  font-size: 0.78rem;
  font-weight: 700;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.clube-hub__rede:hover,
.clube-hub__rede:focus-visible {
  background: var(--clube-cor);
  border-color: var(--clube-cor);
  color: #fff;
  outline: none;
}

.clube-hub__noticias {
  margin-bottom: 1rem;
}

.clube-hub__vazio {
  color: var(--bp-muted);
  font-size: 0.98rem;
}

/* Notícias do clube — destaque 1+2 */
.clube-news-feature {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: 1rem;
  margin-bottom: 1.75rem;
}

.clube-news-feature--solo {
  grid-template-columns: 1fr;
}

.clube-news-feature--solo .clube-news-feature__main {
  grid-row: auto;
  min-height: 360px;
}

.clube-news-feature__main,
.clube-news-feature__card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 24px;
  text-decoration: none;
  color: #fff;
  min-height: 280px;
  background: var(--bp-green-dark);
  transition: transform 0.25s ease;
}

.clube-news-feature__main {
  min-height: 420px;
  grid-row: 1 / span 2;
}

.clube-news-feature__side {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 1rem;
  min-height: 420px;
}

.clube-news-feature__main:hover,
.clube-news-feature__card:hover,
.clube-news-feature__main:focus-visible,
.clube-news-feature__card:focus-visible {
  transform: translateY(-2px);
  outline: none;
}

.clube-news-feature__media {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-color: #0a3d22;
  transition: transform 0.35s ease;
}

.clube-news-feature__main:hover .clube-news-feature__media,
.clube-news-feature__card:hover .clube-news-feature__media {
  transform: scale(1.04);
}

.clube-news-feature__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(8, 34, 21, 0.08) 0%,
    rgba(8, 34, 21, 0.28) 40%,
    rgba(7, 52, 28, 0.88) 100%
  );
  z-index: 1;
}

.clube-news-feature__content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.45rem;
  padding: 1.35rem 1.4rem 1.5rem;
}

.clube-news-feature__cat {
  display: inline-flex;
  padding: 0.28rem 0.7rem;
  border-radius: 999px;
  background: rgba(166, 239, 96, 0.2);
  border: 1px solid rgba(166, 239, 96, 0.28);
  color: #f8ffcf;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.clube-news-feature__title {
  font-size: clamp(1.25rem, 2vw, 1.85rem);
  line-height: 1.2;
  font-weight: 900;
  color: #fff;
}

.clube-news-feature__title--sm {
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
}

.clube-news-feature__excerpt {
  font-size: 0.92rem;
  color: rgba(255, 255, 255, 0.88);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.clube-news-feature__excerpt--sm {
  -webkit-line-clamp: 2;
  font-size: 0.85rem;
}

.clube-news-feature__meta {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.72);
  font-weight: 600;
}

.clube-news-list {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.clube-news-list__item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 0.85rem 0.95rem;
  text-decoration: none;
  color: inherit;
  border-radius: 18px;
  border: 1px solid transparent;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.clube-news-list__item:hover,
.clube-news-list__item:focus-visible {
  background: #f4faf5;
  border-color: var(--bp-border);
  outline: none;
}

.clube-news-list__thumb {
  flex: 0 0 160px;
  width: 160px;
  height: 100px;
  object-fit: cover;
  object-position: center;
  border-radius: 14px;
  background: #e8f0eb;
}

.clube-news-list__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.clube-news-list__top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.85rem;
}

.clube-news-list__cat {
  display: inline-flex;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(15, 109, 53, 0.1);
  color: var(--bp-green);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.clube-news-list__meta {
  font-size: 0.8rem;
  color: var(--bp-muted);
  font-weight: 600;
}

.clube-news-list__title {
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--bp-text);
  line-height: 1.3;
}

.clube-news-list__excerpt {
  font-size: 0.9rem;
  color: var(--bp-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 991.98px) {
  .clube-news-feature {
    grid-template-columns: 1fr;
  }

  .clube-news-feature__main {
    grid-row: auto;
    min-height: 340px;
  }

  .clube-news-feature__side {
    grid-template-rows: none;
    grid-template-columns: 1fr 1fr;
    min-height: 0;
  }

  .clube-news-feature__card {
    min-height: 240px;
  }
}

@media (max-width: 575.98px) {
  .clube-hub {
    padding: calc(var(--bp-navbar-offset)) 0 2.75rem;
  }

  .clube-hub__header {
    padding: 1.15rem 0 1rem;
    min-height: 0;
  }

  .clube-hub__header-inner {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    gap: 1rem;
  }

  .clube-hub__escudo-wrap {
    width: 112px;
    height: 112px;
    margin: 0 auto;
  }

  .clube-hub__header-text {
    flex: 1 1 auto;
    width: 100%;
  }

  .clube-hub__breadcrumb {
    justify-content: center;
    padding-top: 0.75rem;
  }

  .clube-hub__meta {
    justify-content: center;
  }

  .clube-hub__influencer-card {
    flex-direction: column;
    text-align: center;
    padding: 1.25rem 1rem;
  }

  .clube-hub__influencer-perfil {
    flex-direction: column;
    width: 100%;
  }

  .clube-hub__influencer-redes {
    justify-content: center;
    padding-left: 0;
  }

  .clube-news-feature__side {
    grid-template-columns: 1fr;
  }

  .clube-news-feature__main,
  .clube-news-feature__card {
    min-height: 260px;
  }

  .clube-news-list__item {
    flex-direction: column;
  }

  .clube-news-list__thumb {
    width: 100%;
    flex-basis: auto;
    height: 160px;
  }
}

/* Home — seção #influencers (hero-grid) */
.bp-inf-head {
  max-width: 42rem;
}

.bp-inf-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.95fr);
  gap: 1.25rem;
  align-items: stretch;
}

.bp-inf-slider {
  position: relative;
  min-height: 420px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(8, 53, 28, 0.12);
  background: var(--bp-green-dark, #08351c);
}

.bp-inf-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.55s ease, visibility 0.55s ease;
  background-size: cover;
  background-position: center;
  background-color: #0a3d22;
}

.bp-inf-slide.lazy-loaded,
.bp-inf-slide.lazy-pending {
  opacity: 0;
  visibility: hidden;
}

.bp-inf-slide.is-active {
  position: relative;
  min-height: 420px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}

.bp-inf-slide.is-active.lazy-loaded,
.bp-inf-slide.is-active.lazy-pending {
  opacity: 1;
  visibility: visible;
}

.bp-inf-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(6, 42, 21, 0.12) 0%,
    rgba(6, 42, 21, 0.35) 42%,
    rgba(6, 42, 21, 0.88) 100%
  );
  z-index: 1;
}

.bp-inf-slide__content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 1.75rem 1.75rem 2.4rem;
  color: #fff;
}

.bp-inf-slide__tag {
  display: inline-flex;
  align-items: center;
  margin-bottom: 0.85rem;
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  background: rgba(8, 53, 28, 0.55);
  border: 1px solid rgba(166, 239, 96, 0.28);
  color: #f4ffd8;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.bp-inf-slide__title {
  margin: 0 0 0.65rem;
  max-width: 34rem;
  font-size: clamp(1.35rem, 2.4vw, 1.95rem);
  line-height: 1.15;
  font-weight: 900;
  color: #fff;
}

.bp-inf-slide__text {
  margin: 0 0 1.15rem;
  max-width: 34rem;
  font-size: 0.95rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.88);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bp-inf-slide__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.bp-inf-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.25rem;
  border-radius: 999px;
  border: 1px solid var(--bp-lime, #a6ef60);
  background: var(--bp-lime, #a6ef60);
  color: var(--bp-green-dark, #08351c) !important;
  font-weight: 800;
  font-size: 0.9rem;
  text-decoration: none;
  transition: transform 0.18s ease, filter 0.18s ease, background 0.18s ease;
}

.bp-inf-btn-primary:hover,
.bp-inf-btn-primary:focus-visible {
  filter: brightness(1.05);
  transform: translateY(-1px);
  color: var(--bp-green-dark, #08351c) !important;
}

.bp-inf-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.25rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.75);
  background: transparent;
  color: #fff !important;
  font-weight: 700;
  font-size: 0.9rem;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.bp-inf-btn-outline:hover,
.bp-inf-btn-outline:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
  transform: translateY(-1px);
  color: #fff !important;
}

.bp-inf-dots {
  position: absolute;
  left: 1.75rem;
  bottom: 1rem;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.bp-inf-dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.bp-inf-dot.is-active,
.bp-inf-dot:hover,
.bp-inf-dot:focus-visible {
  background: var(--bp-lime, #a6ef60);
  transform: scale(1.15);
  outline: none;
}

.bp-inf-aside {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 1.5rem 1.4rem 1.25rem;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(15, 109, 53, 0.08);
  box-shadow: 0 16px 40px rgba(8, 53, 28, 0.08);
}

.bp-inf-aside__label {
  margin: 0 0 0.45rem;
  color: var(--bp-green, #0f6d35);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.bp-inf-aside__title {
  margin: 0 0 1.15rem;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  line-height: 1.3;
  font-weight: 800;
  color: var(--bp-text, #122018);
}

.bp-inf-list {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  margin: 0;
  overflow: auto;
  max-height: 420px;
}

.bp-inf-item {
  margin: 0;
  border-top: 1px solid rgba(15, 109, 53, 0.1);
}

.bp-inf-item:first-child {
  border-top: 0;
}

.bp-inf-item__link {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.85rem 0.15rem;
  text-decoration: none;
  color: inherit;
  transition: background 0.18s ease;
  border-radius: 12px;
}

.bp-inf-item__link:hover,
.bp-inf-item__link:focus-visible {
  background: rgba(15, 109, 53, 0.05);
  outline: none;
}

.bp-inf-item__foto-wrap {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(166, 239, 96, 0.55);
  background: #edf6ef;
  box-shadow: 0 4px 12px rgba(8, 53, 28, 0.08);
}

.bp-inf-item__foto {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.bp-inf-item__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.bp-inf-item__nome {
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--bp-text, #122018);
}

.bp-inf-item__clubes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
}

.bp-inf-clube {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  max-width: 100%;
  color: var(--bp-muted, #5a6b62);
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.2;
}

.bp-inf-clube__escudo {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex-shrink: 0;
}

.bp-inf-clube__nome {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 9.5rem;
}

.bp-inf-item__chevron {
  flex: 0 0 auto;
  color: var(--bp-green, #0f6d35);
  opacity: 0.45;
  font-size: 0.75rem;
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.bp-inf-item__link:hover .bp-inf-item__chevron,
.bp-inf-item__link:focus-visible .bp-inf-item__chevron {
  opacity: 1;
  transform: translateX(2px);
}

.bp-inf-slider[data-bg].lazy-pending,
.bp-inf-slide.lazy-pending {
  background-color: #0a3d22;
}

.bp-inf-slide.is-active.lazy-loaded {
  transition: opacity 0.55s ease, visibility 0.55s ease;
}

@media (max-width: 991.98px) {
  .bp-inf-hero {
    grid-template-columns: 1fr;
  }

  .bp-inf-slider,
  .bp-inf-slide.is-active {
    min-height: 380px;
  }

  .bp-inf-list {
    max-height: none;
  }
}

@media (max-width: 575.98px) {
  .bp-inf-slider,
  .bp-inf-slide.is-active {
    min-height: 340px;
  }

  .bp-inf-slide__content {
    padding: 1.35rem 1.25rem 2.25rem;
  }

  .bp-inf-dots {
    left: 1.25rem;
  }

  .bp-inf-aside {
    padding: 1.25rem 1.1rem 1rem;
  }

  .bp-inf-item__foto-wrap {
    width: 48px;
    height: 48px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bp-inf-slide,
  .bp-inf-btn-primary,
  .bp-inf-btn-outline,
  .bp-inf-dot,
  .bp-inf-item__link,
  .bp-inf-item__chevron {
    transition: none;
  }
}

/* Mini-site do influencer (/influencer/{urli}) */
body.is-influencer {
  --bp-navbar-offset: 92px;
}

body.is-influencer:has(.bp-inf-topo--com-redes) {
  --bp-navbar-offset: 128px;
}

.bp-inf-topo.navbar-custom {
  background:
    linear-gradient(180deg, rgba(6, 42, 21, .97) 0%, rgba(8, 53, 28, .94) 42%, rgba(15, 109, 53, .92) 100%);
  border-bottom: 1px solid rgba(166, 239, 96, .18);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
}

.bp-inf-topo.navbar-custom.navbar-scrolled {
  background:
    linear-gradient(180deg, rgba(6, 42, 21, .98) 0%, rgba(8, 53, 28, .96) 55%, rgba(12, 90, 44, .94) 100%);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
  border-bottom-color: rgba(166, 239, 96, .28);
}

.bp-inf-topo .bp-inf-topo__wrap {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 0;
}

.bp-inf-topo__bar-social {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  padding: .35rem 0 .2rem;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.bp-inf-topo__social {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
}

.bp-inf-topo__social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .18);
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.bp-inf-topo__social-link:hover,
.bp-inf-topo__social-link:focus-visible {
  background: rgba(166, 239, 96, .22);
  border-color: rgba(166, 239, 96, .45);
  color: #fff;
  transform: translateY(-1px);
}

.bp-inf-topo .bp-inf-topo__shell {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  padding: .55rem 0;
}

.bp-inf-topo__brand {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: .75rem;
  margin-right: auto;
  padding: .2rem 0;
  min-width: 0;
  flex: 1 1 auto;
  max-width: min(48vw, 340px);
  text-decoration: none;
}

.bp-inf-topo__logo,
.bp-inf-topo__brand img.bp-inf-topo__logo {
  display: block;
  flex-shrink: 0;
  width: 54px;
  height: 54px;
  max-width: 54px;
  object-fit: cover;
  border-radius: 50%;
  background: rgba(255, 255, 255, .96);
  padding: .12rem;
  border: 1px solid rgba(255, 255, 255, .35);
  box-shadow:
    0 0 0 1px rgba(166, 239, 96, .2),
    0 6px 16px rgba(0, 0, 0, .22);
}

.bp-inf-topo__nome {
  flex: 1 1 auto;
  min-width: 0;
  font-size: clamp(.9rem, 1.7vw, 1.12rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .01em;
  color: #fff;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
}

.bp-inf-topo__social-link--whatsapp {
  background: rgba(37, 211, 102, .22);
  border-color: rgba(37, 211, 102, .4);
}

.bp-inf-topo__social-link--whatsapp:hover,
.bp-inf-topo__social-link--whatsapp:focus-visible {
  background: rgba(37, 211, 102, .38);
  border-color: rgba(37, 211, 102, .65);
}

.bp-inf-topo__toggler.navbar-toggler {
  flex-shrink: 0;
  margin-left: .25rem;
  border: 1px solid rgba(255, 255, 255, .32);
  border-radius: 10px;
  padding: .42rem .58rem;
  background: rgba(255, 255, 255, .06);
}

.bp-inf-topo__toggler.navbar-toggler:focus {
  box-shadow: 0 0 0 .2rem rgba(166, 239, 96, .35);
}

.bp-inf-topo__collapse {
  flex-grow: 1;
  align-items: center;
}

.bp-inf-topo__nav {
  align-items: center;
  gap: .15rem;
}

.bp-inf-topo__nav .nav-link {
  color: rgba(255, 255, 255, .88);
  font-weight: 700;
  padding: .45rem .75rem;
  border-radius: .55rem;
}

.bp-inf-topo__nav .nav-link:hover,
.bp-inf-topo__nav .nav-link:focus-visible,
.bp-inf-topo__nav .nav-link.active {
  color: #fff;
  background: rgba(166, 239, 96, .18);
}

.bp-inf-topo__actions {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-left: auto;
}

.bp-inf-topo__hub {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: rgba(255, 255, 255, .9);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.bp-inf-topo__hub:hover,
.bp-inf-topo__hub:focus-visible {
  color: var(--bp-lime, #a6ef60);
}

@media (min-width: 992px) {
  .bp-inf-topo__collapse {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .bp-inf-topo__brand {
    max-width: min(40vw, 280px);
  }

  .bp-inf-topo__nome {
    font-size: .95rem;
  }

  .bp-inf-topo__nav .nav-link {
    padding: .42rem .55rem;
    font-size: .88rem;
  }
}

.bp-inf-faixa {
  background:
    linear-gradient(135deg, rgba(6, 42, 21, .92) 0%, rgba(15, 109, 53, .88) 100%),
    linear-gradient(180deg, #08351c, #0f6d35);
  color: #fff;
  padding: calc(var(--bp-navbar-offset) + 1.75rem) 0 1.75rem;
}

.bp-inf-faixa__inner {
  max-width: 52rem;
}

.bp-inf-faixa__titulo {
  margin: 0;
  font-size: clamp(1.6rem, 3vw, 2.15rem);
  font-weight: 900;
  line-height: 1.15;
  color: #fff;
}

.bp-influencer {
  --bp-inf-section-gap: 3.25rem;
  --bp-inf-card-gap: 1.25rem;
  --bp-inf-card-radius: 1rem;
}

.bp-influencer__hero {
  position: relative;
  min-height: clamp(320px, 48vw, 480px);
  display: flex;
  align-items: flex-end;
  background-color: #0b2a18;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}

.bp-influencer__hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(4, 26, 13, .18) 0%, rgba(4, 26, 13, .86) 100%),
    linear-gradient(90deg, rgba(4, 26, 13, .62) 0%, rgba(4, 26, 13, .1) 78%);
  pointer-events: none;
}

.bp-influencer__hero-content {
  position: relative;
  z-index: 1;
  padding-top: calc(var(--bp-navbar-offset) + 2.75rem);
  padding-bottom: 2.75rem;
  color: #fff;
  max-width: 42rem;
}

.bp-influencer__titulo {
  font-size: clamp(1.95rem, 3.4vw, 2.9rem);
  font-weight: 900;
  line-height: 1.1;
  margin: 0 0 .75rem;
  max-width: 20ch;
  color: #fff;
  overflow-wrap: anywhere;
}

.bp-influencer__sintese {
  margin: 0 0 .75rem;
  max-width: 38rem;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  font-weight: 600;
  line-height: 1.45;
  color: rgba(255, 255, 255, .9);
}

.bp-influencer__local {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  color: rgba(255, 255, 255, .85);
}

.bp-influencer__corpo {
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
}

.bp-influencer__breadcrumb {
  font-size: .92rem;
  font-weight: 600;
  color: var(--bp-muted, #5b6b63);
}

.bp-influencer__breadcrumb a {
  color: var(--bp-green, #0f6d35);
  text-decoration: none;
}

.bp-influencer__breadcrumb a:hover,
.bp-influencer__breadcrumb a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.bp-influencer__breadcrumb-sep {
  margin: 0 .4rem;
  opacity: .55;
}

.bp-influencer__block-head {
  margin-bottom: 1.5rem;
}

.bp-influencer__block-titulo {
  margin: 0 0 .4rem;
  font-size: clamp(1.3rem, 2.2vw, 1.65rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--bp-ink, #102418);
}

.bp-influencer__block-sub {
  margin: 0;
  max-width: 40rem;
  color: var(--bp-muted, #5b6b63);
  font-size: .98rem;
  line-height: 1.45;
}

.bp-influencer__apresentacao,
.bp-influencer__clubes,
.bp-influencer__eventos,
.bp-influencer__noticias {
  margin-bottom: var(--bp-inf-section-gap);
}

.bp-influencer__block-head--com-acao {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: .85rem 1.25rem;
}

.bp-influencer__ver-todos {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .01em;
  color: var(--bp-green, #0f6d35);
  text-decoration: none;
  white-space: nowrap;
  opacity: .88;
}

.bp-influencer__ver-todos:hover,
.bp-influencer__ver-todos:focus-visible {
  color: var(--bp-green, #0f6d35);
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.bp-influencer__eventos-grid,
.bp-influencer__news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--bp-inf-card-gap);
}

.bp-influencer__evento-card,
.bp-influencer__news-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  border-radius: var(--bp-inf-card-radius);
  border: 1px solid rgba(15, 109, 53, .12);
  background: #fff;
  box-shadow: 0 8px 22px rgba(8, 53, 28, .06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.bp-influencer__evento-card:hover,
.bp-influencer__evento-card:focus-visible,
.bp-influencer__news-card:hover,
.bp-influencer__news-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(15, 109, 53, .28);
  box-shadow: 0 14px 30px rgba(8, 53, 28, .12);
  color: inherit;
}

.bp-influencer__evento-thumb,
.bp-influencer__news-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #0b2a18;
}

.bp-influencer__evento-body,
.bp-influencer__news-body {
  display: flex;
  flex-direction: column;
  gap: .45rem;
  flex: 1;
  padding: 1rem 1.05rem 1.15rem;
}

.bp-influencer__evento-top,
.bp-influencer__news-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .65rem;
}

.bp-influencer__evento-badge {
  display: inline-flex;
  align-items: center;
  padding: .22rem .55rem;
  border-radius: .4rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  line-height: 1.2;
  background: rgba(15, 109, 53, .1);
  color: var(--bp-green, #0f6d35);
}

.bp-influencer__evento-badge--em-breve {
  background: rgba(37, 99, 235, .12);
  color: #1d4ed8;
}

.bp-influencer__evento-badge--aberto {
  background: rgba(15, 109, 53, .14);
  color: #0b5c2c;
}

.bp-influencer__evento-badge--encerrado {
  background: rgba(107, 114, 128, .14);
  color: #4b5563;
}

.bp-influencer__evento-badge--certificado {
  background: rgba(180, 83, 9, .14);
  color: #9a3412;
}

.bp-influencer__evento-badge--indisponivel {
  background: rgba(185, 28, 28, .12);
  color: #991b1b;
}

.bp-influencer__evento-meta,
.bp-influencer__news-meta {
  font-size: .8rem;
  font-weight: 600;
  color: var(--bp-muted, #5b6b63);
}

.bp-influencer__evento-title,
.bp-influencer__news-title {
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.3;
  color: var(--bp-ink, #102418);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bp-influencer__evento-excerpt,
.bp-influencer__news-excerpt {
  font-size: .92rem;
  line-height: 1.45;
  color: var(--bp-muted, #5b6b63);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.bp-influencer__evento-cta {
  margin-top: auto;
  padding-top: .35rem;
  font-size: .88rem;
  font-weight: 800;
  color: var(--bp-green, #0f6d35);
}

.bp-influencer-evento__header {
  margin-bottom: 1.25rem;
}

.bp-influencer-evento__titulo {
  margin: .65rem 0 .35rem;
  font-size: clamp(1.55rem, 3vw, 2.1rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--bp-ink, #102418);
}

.bp-influencer-evento__breve {
  margin: 0;
  max-width: 40rem;
  font-size: 1.05rem;
  line-height: 1.5;
  color: var(--bp-muted, #5b6b63);
}

.bp-influencer-evento__capa {
  margin: 0 0 1.5rem;
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid rgba(15, 109, 53, .12);
  background: #0b2a18;
  box-shadow: 0 10px 28px rgba(8, 53, 28, .08);
}

.bp-influencer-evento__capa img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.bp-influencer-evento__conteudo {
  margin-bottom: 1rem;
}

.bp-influencer-evento__sidebar {
  position: sticky;
  top: calc(var(--bp-navbar-offset, 88px) + 1rem);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.bp-influencer-evento__status-card {
  padding: 1rem 1.15rem;
  border-radius: 1rem;
  border: 1px solid rgba(15, 109, 53, .16);
  background: linear-gradient(180deg, #f3fbf5 0%, #e7f6ec 100%);
}

.bp-influencer-evento__status-label {
  display: block;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: .01em;
  color: var(--bp-ink, #102418);
  line-height: 1.2;
}

.bp-influencer-evento__status-texto {
  margin-top: .35rem;
  font-size: .9rem;
  font-weight: 600;
  color: var(--bp-muted, #5b6b63);
}

.bp-influencer-evento__status-card--em-breve {
  border-color: rgba(37, 99, 235, .22);
  background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
}

.bp-influencer-evento__status-card--em-breve .bp-influencer-evento__status-label {
  color: #1d4ed8;
}

.bp-influencer-evento__status-card--aberto {
  border-color: rgba(15, 109, 53, .28);
  background: linear-gradient(180deg, #ecfdf3 0%, #d1fae5 100%);
}

.bp-influencer-evento__status-card--aberto .bp-influencer-evento__status-label {
  color: #0b5c2c;
}

.bp-influencer-evento__status-card--encerrado {
  border-color: rgba(107, 114, 128, .24);
  background: linear-gradient(180deg, #f9fafb 0%, #eef2f7 100%);
}

.bp-influencer-evento__status-card--certificado {
  border-color: rgba(180, 83, 9, .24);
  background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
}

.bp-influencer-evento__status-card--certificado .bp-influencer-evento__status-label {
  color: #9a3412;
}

.bp-influencer-evento__urgencia {
  padding: .95rem 1.1rem 1.05rem;
  border-radius: 1rem;
  border: 1px solid rgba(180, 83, 9, .28);
  background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
  box-shadow: 0 8px 20px rgba(154, 52, 18, .08);
}

.bp-influencer-evento__urgencia--info {
  border-color: rgba(15, 109, 53, .22);
  background: linear-gradient(180deg, #ecfdf3 0%, #d1fae5 100%);
  box-shadow: 0 8px 18px rgba(8, 53, 28, .06);
}

.bp-influencer-evento__urgencia--info .bp-influencer-evento__urgencia-topo {
  color: #0b5c2c;
}

.bp-influencer-evento__urgencia--info .bp-influencer-evento__urgencia-msg {
  color: #14532d;
  font-weight: 600;
}

.bp-influencer-evento__urgencia--alerta {
  border-color: rgba(180, 83, 9, .28);
  background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
}

.bp-influencer-evento__urgencia-topo {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-bottom: .35rem;
  color: #9a3412;
  font-size: .95rem;
}

.bp-influencer-evento__urgencia-msg {
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.4;
  color: #7c2d12;
}

.bp-influencer-evento__urgencia-dias {
  display: flex;
  align-items: baseline;
  gap: .4rem;
  margin-top: .7rem;
  color: #0b5c2c;
}

.bp-influencer-evento__urgencia-dias span {
  font-size: 1.85rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.02em;
}

.bp-influencer-evento__urgencia-dias small {
  font-size: .95rem;
  font-weight: 700;
  text-transform: lowercase;
}

.bp-influencer-evento__urgencia-timer {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .65rem;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #9a3412;
}

.bp-influencer-evento__urgencia-timer span {
  display: inline-flex;
  min-width: 1.7rem;
  justify-content: center;
  padding: .2rem .35rem;
  border-radius: .4rem;
  background: rgba(255, 255, 255, .7);
  border: 1px solid rgba(180, 83, 9, .2);
}

.bp-influencer-evento__urgencia--critico {
  border-color: rgba(185, 28, 28, .45);
  background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 55%, #fecaca 100%);
  box-shadow: 0 10px 28px rgba(185, 28, 28, .18);
  animation: bpEventoUrgenciaPulse 1.35s ease-in-out infinite;
}

.bp-influencer-evento__urgencia--critico .bp-influencer-evento__urgencia-topo,
.bp-influencer-evento__urgencia--critico .bp-influencer-evento__urgencia-timer {
  color: #991b1b;
}

.bp-influencer-evento__urgencia--critico .bp-influencer-evento__urgencia-msg {
  color: #7f1d1d;
  font-weight: 800;
}

.bp-influencer-evento__urgencia--critico .bp-influencer-evento__urgencia-timer span {
  border-color: rgba(185, 28, 28, .35);
  background: rgba(255, 255, 255, .85);
}

@keyframes bpEventoUrgenciaPulse {
  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 10px 28px rgba(185, 28, 28, .16);
  }
  50% {
    transform: scale(1.015);
    box-shadow: 0 14px 34px rgba(185, 28, 28, .28);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bp-influencer-evento__urgencia--critico {
    animation: none;
  }
}

.bp-influencer-evento__painel {
  padding: 1.15rem 1.2rem 1.25rem;
  border-radius: 1rem;
  border: 1px solid rgba(15, 109, 53, .14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98) 0%, rgba(241, 250, 244, .94) 100%);
  box-shadow: 0 10px 26px rgba(8, 53, 28, .07);
}

.bp-influencer-evento__painel + .bp-influencer-evento__painel {
  margin-top: 0;
}

.bp-influencer-evento__painel-titulo {
  margin: 0 0 .9rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--bp-ink, #102418);
}

.bp-influencer-evento__meta-list {
  display: flex;
  flex-direction: column;
  gap: .85rem;
}

.bp-influencer-evento__meta-list li {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  font-size: .92rem;
  line-height: 1.35;
  color: var(--bp-ink, #102418);
}

.bp-influencer-evento__meta-list i {
  margin-top: .15rem;
  color: var(--bp-green, #0f6d35);
  width: 1.1rem;
  text-align: center;
}

.bp-influencer-evento__meta-list strong {
  display: block;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  color: var(--bp-muted, #5b6b63);
  margin-bottom: .15rem;
}

.bp-influencer-evento__hint {
  margin: 0 0 1rem;
  font-size: .92rem;
  color: var(--bp-muted, #5b6b63);
}

.bp-influencer-evento__status {
  font-size: .95rem;
  font-weight: 700;
  color: var(--bp-ink, #102418);
}

.bp-influencer-evento__painel--status {
  background: #fff;
}

.bp-influencer-evento__pagamento {
  margin-bottom: 1rem;
  padding: .9rem 1rem;
  border-radius: .75rem;
  border: 1px dashed rgba(15, 109, 53, .28);
  background: rgba(232, 245, 236, .65);
  font-size: .92rem;
}

.bp-influencer__redes {
  width: 100%;
  margin: 2.75rem 0 0;
  padding: 2.75rem 0 3rem;
  background: linear-gradient(180deg, #e8f5ec 0%, #d4edd9 100%);
  border-top: 1px solid rgba(15, 109, 53, .14);
  border-bottom: 1px solid rgba(15, 109, 53, .14);
}

.bp-influencer__corpo:has(.bp-influencer__redes) {
  padding-bottom: 0;
}

.bp-influencer__vazio {
  color: var(--bp-muted, #5b6b63);
  font-weight: 600;
}

.bp-influencer__clubes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  gap: var(--bp-inf-card-gap, 1.25rem);
}

.bp-influencer__clube-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .65rem;
  padding: 1.1rem .85rem 1.15rem;
  text-align: center;
  text-decoration: none;
  color: inherit;
  border-radius: 1rem;
  border: 1px solid rgba(15, 109, 53, .12);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96) 0%, rgba(241, 250, 244, .92) 100%);
  box-shadow: 0 8px 22px rgba(8, 53, 28, .06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

a.bp-influencer__clube-card:hover,
a.bp-influencer__clube-card:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(15, 109, 53, .28);
  box-shadow: 0 12px 28px rgba(8, 53, 28, .12);
  color: inherit;
}

.bp-influencer__clube-escudo-wrap {
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .4rem;
  border-radius: 15%;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.95);
  border: 1px solid rgba(15, 109, 53, .08);
  box-shadow: 0 2px 8px rgba(8, 53, 28, .06);
}

.bp-influencer__clube-escudo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.bp-influencer__clube-nome {
  font-size: .95rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--bp-ink, #102418);
}

.bp-influencer__news-cat {
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--bp-green, #0f6d35);
}

.bp-influencer__redes-list {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.bp-influencer__rede {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .85rem 1.15rem;
  border-radius: .8rem;
  text-decoration: none;
  font-weight: 700;
  color: var(--bp-ink, #102418);
  background: #fff;
  border: 1px solid rgba(15, 109, 53, .16);
  box-shadow: 0 8px 20px rgba(8, 53, 28, .08);
  transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.bp-influencer__rede:hover,
.bp-influencer__rede:focus-visible {
  background: #fff;
  border-color: rgba(15, 109, 53, .32);
  color: var(--bp-ink, #102418);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(8, 53, 28, .12);
}

.bp-influencer__rede i {
  color: var(--bp-green, #0f6d35);
  font-size: 1.15rem;
}

.bp-influencer__contato-list {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.bp-influencer__contato-link {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  padding: .85rem 1.15rem;
  border-radius: .8rem;
  font-weight: 700;
  color: var(--bp-ink, #102418);
  text-decoration: none;
  background: #fff;
  border: 1px solid rgba(15, 109, 53, .16);
  box-shadow: 0 8px 20px rgba(8, 53, 28, .08);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.bp-influencer__contato-link:hover,
.bp-influencer__contato-link:focus-visible {
  color: var(--bp-ink, #102418);
  text-decoration: none;
  transform: translateY(-2px);
  border-color: rgba(15, 109, 53, .32);
  box-shadow: 0 12px 26px rgba(8, 53, 28, .12);
}

.bp-influencer__contato-link i {
  color: var(--bp-green, #0f6d35);
  font-size: 1.15rem;
}

.bp-influencer__contato-link--whatsapp {
  background: #25d366;
  border-color: #1ebe57;
  color: #fff;
}

.bp-influencer__contato-link--whatsapp i {
  color: #fff;
}

.bp-influencer__contato-link--whatsapp:hover,
.bp-influencer__contato-link--whatsapp:focus-visible {
  color: #fff;
  background: #1ebe57;
  border-color: #19a84d;
}

.bp-inf-rodape-social {
  margin-top: .85rem;
}

@media (max-width: 991.98px) {
  body.is-influencer {
    --bp-navbar-offset: 78px;
  }

  body.is-influencer:has(.bp-inf-topo--com-redes) {
    --bp-navbar-offset: 112px;
  }

  .bp-inf-topo__bar-social {
    padding: .3rem 0 .15rem;
  }

  .bp-inf-topo .bp-inf-topo__shell {
    flex-wrap: nowrap;
    padding: .4rem 0;
  }

  .bp-inf-topo__brand {
    max-width: calc(100% - 3.5rem);
    flex: 1 1 auto;
  }

  .bp-inf-topo__nome {
    font-size: .9rem;
  }

  .bp-inf-topo__collapse {
    flex-basis: 100%;
    width: 100%;
    margin-top: .35rem;
  }

  .bp-inf-topo__collapse.show,
  .bp-inf-topo__collapse.collapsing {
    border-top: 1px solid rgba(255, 255, 255, .12);
    padding-top: .35rem;
  }

  .bp-inf-topo__nav {
    margin-left: 0;
    width: 100%;
    gap: 0;
    padding: .25rem 0 .15rem;
  }

  .bp-inf-topo__nav .nav-link {
    padding: .78rem .2rem;
    border-radius: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
  }

  .bp-inf-topo__nav .nav-link:hover,
  .bp-inf-topo__nav .nav-link:focus-visible,
  .bp-inf-topo__nav .nav-link.active {
    background: transparent;
    color: var(--bp-lime, #a6ef60);
  }

  .bp-influencer {
    --bp-inf-section-gap: 2.75rem;
    --bp-inf-card-gap: 1.1rem;
  }

  .bp-influencer__news-grid,
  .bp-influencer__eventos-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .bp-influencer-evento__sidebar {
    position: static;
  }
}

@media (max-width: 575.98px) {
  body.is-influencer {
    --bp-navbar-offset: 74px;
  }

  body.is-influencer:has(.bp-inf-topo--com-redes) {
    --bp-navbar-offset: 108px;
  }

  .bp-inf-topo__brand {
    max-width: calc(100% - 3.25rem);
    gap: .55rem;
  }

  .bp-inf-topo__logo,
  .bp-inf-topo__brand img.bp-inf-topo__logo {
    width: 46px;
    height: 46px;
    max-width: 46px;
  }

  .bp-inf-topo__nome {
    font-size: .84rem;
    line-height: 1.2;
  }

  .bp-inf-topo__actions {
    width: 100%;
    margin-left: 0;
    padding-top: .35rem;
  }

  .bp-influencer {
    --bp-inf-section-gap: 2.35rem;
  }

  .bp-influencer__hero {
    min-height: clamp(260px, 72vw, 360px);
  }

  .bp-influencer__hero-content {
    max-width: none;
    padding-top: calc(var(--bp-navbar-offset) + 1.75rem);
    padding-bottom: 1.75rem;
  }

  .bp-influencer__titulo {
    max-width: none;
    font-size: clamp(1.65rem, 7.5vw, 2.1rem);
  }

  .bp-influencer__sintese {
    max-width: none;
  }

  .bp-influencer__corpo {
    padding-top: 1.85rem;
    padding-bottom: 2.75rem;
  }

  .bp-influencer__news-grid,
  .bp-influencer__eventos-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bp-influencer__clube-card,
  .bp-influencer__news-card,
  .bp-influencer__evento-card,
  .bp-influencer__rede,
  .bp-influencer__contato-link,
  .bp-inf-topo__social-link {
    transition: none;
  }
}

/* Listagem pública /influencers.html */
.bp-influencers__card {
  height: 100%;
  margin: 0;
  border: 1px solid rgba(15, 109, 53, 0.1);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(8, 53, 28, 0.06);
  overflow: hidden;
}

.bp-influencers__card-link {
  height: 100%;
  padding: 1.1rem 1rem;
  border-radius: 18px;
  align-items: flex-start;
}

.bp-influencers__card .bp-inf-item__foto-wrap {
  width: 72px;
  height: 72px;
}

.bp-influencers__sintese {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: #5a6b62;
  font-size: 0.9rem;
  line-height: 1.4;
}

.bp-influencers__modal .bp-auth {
  max-width: none;
  margin: 0;
}

.bp-influencers__modal .bp-auth__card {
  box-shadow: none;
  border: 0;
  padding: 0 0 0.5rem;
}

/* Notícia estática (nroDel) */
.bp-noticia__conteudo {
  font-size: 1.05rem;
  line-height: 1.8;
  color: #2c3f34;
  overflow: hidden;
}

.bp-noticia__conteudo p {
  margin-bottom: 1.2rem;
}

.bp-noticia__conteudo h2 {
  font-weight: 900;
  margin: 1.8rem 0 1rem;
  color: var(--bp-text);
  clear: both;
}

.bp-noticia__conteudo blockquote {
  margin: 1.4rem 0;
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--bp-green);
  background: rgba(15, 109, 53, 0.06);
  border-radius: 0 12px 12px 0;
  color: #1f3328;
  font-style: italic;
}

.bp-noticia__conteudo blockquote p {
  margin-bottom: 0;
}

.bp-noticia__video {
  float: right;
  width: min(100%, 420px);
  margin: 0 0 1.25rem 1.5rem;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: var(--bp-shadow);
  background: #0b1a12;
  aspect-ratio: 16 / 9;
}

.bp-noticia__video iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.bp-noticia__fonte {
  word-break: break-word;
}

.bp-noticia__fonte a {
  color: var(--bp-green);
  font-weight: 700;
  text-decoration: none;
}

.bp-noticia__fonte a:hover {
  text-decoration: underline;
}

@media (max-width: 767.98px) {
  .bp-noticia__video {
    float: none;
    width: 100%;
    margin: 0 0 1.4rem;
  }
}


/* EADvanced Sign — validação pública /validar/{hash} */
.ead-sign-validar {
  padding-top: 2.5rem;
  padding-bottom: 3.5rem;
}

.ead-sign-validar__panel {
  max-width: 720px;
  margin: 0 auto;
  padding: 2rem 1.5rem 2.25rem;
  background: var(--bp-card, #fff);
  border: 1px solid var(--bp-border, rgba(15, 109, 53, 0.1));
  border-radius: 12px;
  box-shadow: var(--bp-shadow, 0 18px 40px rgba(8, 53, 28, 0.08));
}

.ead-sign-validar__brand {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--bp-green, #0f6d35);
}

.ead-sign-validar__title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  color: var(--bp-text, #173122);
}

.ead-sign-validar__lead {
  margin: 0 0 1.5rem;
  color: var(--bp-muted, #617b6b);
  line-height: 1.5;
}

.ead-sign-validar__status {
  margin-bottom: 1.35rem;
  padding: 1rem 1.1rem;
  border-radius: 10px;
  border: 1px solid transparent;
}

.ead-sign-validar__status--ok {
  background: rgba(15, 109, 53, 0.08);
  border-color: rgba(15, 109, 53, 0.22);
}

.ead-sign-validar__status--warn {
  background: rgba(180, 120, 20, 0.08);
  border-color: rgba(180, 120, 20, 0.25);
}

.ead-sign-validar__status--bad {
  background: rgba(160, 40, 40, 0.07);
  border-color: rgba(160, 40, 40, 0.22);
}

.ead-sign-validar__badge {
  display: inline-block;
  margin-bottom: 0.35rem;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  background: var(--bp-green, #0f6d35);
}

.ead-sign-validar__status--warn .ead-sign-validar__badge {
  background: #a06b12;
}

.ead-sign-validar__status--bad .ead-sign-validar__badge {
  background: #9a2f2f;
}

.ead-sign-validar__status-text {
  margin: 0;
  color: var(--bp-text, #173122);
  line-height: 1.45;
}

.ead-sign-validar__meta {
  margin: 0 0 1.25rem;
}

.ead-sign-validar__row {
  display: grid;
  grid-template-columns: minmax(110px, 160px) 1fr;
  gap: 0.35rem 1rem;
  padding: 0.65rem 0;
  border-top: 1px solid var(--bp-border, rgba(15, 109, 53, 0.1));
}

.ead-sign-validar__row:last-child {
  border-bottom: 1px solid var(--bp-border, rgba(15, 109, 53, 0.1));
}

.ead-sign-validar__row dt {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--bp-muted, #617b6b);
}

.ead-sign-validar__row dd {
  margin: 0;
  color: var(--bp-text, #173122);
  word-break: break-word;
}

.ead-sign-validar__code {
  display: inline-block;
  max-width: 100%;
  padding: 0.15rem 0.35rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.78rem;
  background: rgba(15, 109, 53, 0.06);
  border-radius: 4px;
  word-break: break-all;
}

.ead-sign-validar__foot {
  margin: 0;
  font-size: 0.85rem;
  color: var(--bp-muted, #617b6b);
  line-height: 1.45;
}

@media (max-width: 575.98px) {
  .ead-sign-validar__row {
    grid-template-columns: 1fr;
  }
}
