/* Estilo personalizado do banner da página inicial */
#bannerGT3,
#bannerGT3 .carousel-inner,
#bannerGT3 .carousel-item {
  height: 520px;}
#bannerGT3 .carousel-item {
  overflow: hidden;}
#bannerGT3 .carousel-item img {
  height: 100%;
  object-fit: cover;
  filter: brightness(55%);}
#bannerGT3 .carousel-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.78),
    rgba(0, 0, 0, 0.35),
    rgba(0, 0, 0, 0.05));}
#bannerGT3 .carousel-caption {
  z-index: 2;
  left: 10%;
  right: auto;
  bottom: 50%;
  transform: translateY(50%);
  max-width: 620px;
  text-align: left;}
#bannerGT3 .kicker {
  margin-bottom: 10px;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;}
#bannerGT3 h1,
#bannerGT3 h2 {
  margin-bottom: 16px;
  font-size: 4rem;
  font-weight: 800;
  line-height: 1.05;
  text-shadow: 0 3px 14px rgba(0, 0, 0, 0.45);}
#bannerGT3 .carousel-caption p:not(.kicker) {
  margin-bottom: 24px;
  font-size: 1.15rem;}
#bannerGT3 .btn {
  border-radius: 6px;
  padding: 12px 24px;
  font-weight: 600;}
#bannerGT3 .carousel-indicators button {
  width: 36px;
  height: 4px;
  border-radius: 4px;}
#bannerGT3 .carousel-control-prev,
#bannerGT3 .carousel-control-next {
  width: 8%;}
@media (max-width: 768px) {
  #bannerGT3,
  #bannerGT3 .carousel-inner,
  #bannerGT3 .carousel-item {
    height: 440px;}
  #bannerGT3 .carousel-caption {
    left: 8%;
    right: 8%;
    bottom: 56px;
    transform: none;
    max-width: none;}
  #bannerGT3 h1,
  #bannerGT3 h2 {
    font-size: 2.5rem;}
  #bannerGT3 .carousel-caption p:not(.kicker) {
    font-size: 1rem;}}
/* Banner da página Categoria GT3 */
.categoria-banner {
  position: relative;
  height: 420px;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
  background-color: #111;}
.categoria-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(70%);}
.categoria-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.82),
    rgba(0, 0, 0, 0.40),
    rgba(0, 0, 0, 0.08));}
.categoria-banner-texto {
  position: absolute;
  left: 42px;
  bottom: 38px;
  z-index: 2;
  max-width: 570px;
  color: #fff;}
.categoria-banner-texto span {
  display: inline-block;
  margin-bottom: 8px;
  padding: 6px 12px;
  border-left: 4px solid #f8f9fa;
  background-color: rgba(0, 0, 0, 0.55);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;}
.categoria-banner-texto h1 {
  margin: 0 0 12px;
  font-size: 2.7rem;
  font-weight: 800;
  line-height: 1.1;
  text-shadow: 0 3px 12px rgba(0, 0, 0, 0.45);}
.categoria-banner-texto p {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.5;}
@media (max-width: 768px) {
  .categoria-banner {
    height: 360px;}
  .categoria-banner-texto {
    left: 22px;
    right: 22px;
    bottom: 22px;
    max-width: none;}
  .categoria-banner-texto h1 {font-size: 2rem;}
  .categoria-banner-texto p {font-size: 1rem;}}
/* Página de pilotos */
.pilotos-banner {
    position: relative;
    height: 380px;
    overflow: hidden;
    border-radius: 8px;
    background-color: #111;}
.pilotos-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(60%);}
.pilotos-banner-texto {
    position: absolute;
    left: 40px;
    bottom: 35px;
    max-width: 600px;
    color: white;}
.pilotos-banner-texto h1 {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 10px;}
.pilotos-banner-texto p {
    font-size: 1.1rem;
    margin: 0;}
.piloto-card {
    border-radius: 8px;
    transition: .3s ease;}
.piloto-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,.15);}
.platinum {
    border-left: 8px solid #e5e4e2;}
.gold {
    border-left: 8px solid #d4af37;}
.silver {
    border-left: 8px solid #c0c0c0;}
.bronze {
    border-left: 8px solid #cd7f32;}
.platinum .card-title {
    color: #b8b8b8;
    font-weight: bold;}
.gold .card-title {
    color: #d4af37;
    font-weight: bold;}
.silver .card-title {
    color: #8a8a8a;
    font-weight: bold;}
.bronze .card-title {
    color: #cd7f32;
    font-weight: bold;}
.piloto-card img {
    height: 260px;
    object-fit: cover;}
.piloto-card .card-title {
    margin-bottom: 10px;}
.piloto-card .card-text {
    color: #555;}
.alert {
    border-radius: 8px;}
@media (max-width: 768px) {
    .pilotos-banner {
        height: 320px;}
    .pilotos-banner-texto {
        left: 22px;
        right: 22px;
        bottom: 22px;}
    .pilotos-banner-texto h1 {
        font-size: 2.2rem;}
    .pilotos-banner-texto p {
        font-size: 1rem;}}
/* Página carros */
.carros-banner {
  position: relative;
  height: 420px;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);
  background-color: #111;}
.carros-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(65%);}
.carros-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.82),
    rgba(0, 0, 0, 0.40),
    rgba(0, 0, 0, 0.08));}
.carros-banner-texto {
  position: absolute;
  left: 42px;
  bottom: 38px;
  z-index: 2;
  max-width: 570px;
  color: #fff;}
.carros-banner-texto span {
  display: inline-block;
  margin-bottom: 8px;
  padding: 6px 12px;
  border-left: 4px solid #f8f9fa;
  background-color: rgba(0, 0, 0, 0.55);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;}
.carros-banner-texto h1 {
  margin: 0 0 12px;
  font-size: 2.7rem;
  font-weight: 800;
  line-height: 1.1;
  text-shadow: 0 3px 12px rgba(0, 0, 0, 0.45);}
.carros-banner-texto p {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.5;}
/* Cards dos carros */
.carros-card {
  border: none;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;}
.carros-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.20);}
.carros-card img {
  height: 220px;
  width: 100%;
  object-fit: cover;}
.carros-card .card-title {
  font-weight: 700;}
.carros-card .card-text {
  color: #555;}
/* Responsividade */
@media (max-width: 768px) {
  .carros-banner {
    height: 360px;}
  .carros-banner-texto {
    left: 22px;
    right: 22px;
    bottom: 22px;
    max-width: none;}
  .carros-banner-texto h1 {
    font-size: 2rem;}
  .carros-banner-texto p {
    font-size: 1rem;}}
    /* Página Competições */
.competicoes-banner {
  position: relative;
  height: 420px;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
  background-color: #111;}
.competicoes-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(65%);}
.competicoes-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0,0,0,.82),
    rgba(0,0,0,.40),
    rgba(0,0,0,.08));}
.competicoes-banner-texto {
  position: absolute;
  left: 42px;
  bottom: 38px;
  z-index: 2;
  max-width: 570px;
  color: #fff;}
.competicoes-banner-texto span {
  display: inline-block;
  margin-bottom: 8px;
  padding: 6px 12px;
  border-left: 4px solid #f8f9fa;
  background-color: rgba(0,0,0,.55);
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;}
.competicoes-banner-texto h1 {
  margin: 0 0 12px;
  font-size: 2.7rem;
  font-weight: 800;
  line-height: 1.1;}
.competicoes-banner-texto p {
  margin: 0;
  font-size: 1.1rem;}
.competicoes-card {
  border: none;
  border-radius: 8px;
  overflow: hidden;
  transition: all .3s ease;}
.competicoes-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 28px rgba(0,0,0,.20);}
.competicoes-card img {
  height: 220px;
  width: 100%;
  object-fit: cover;}
@media (max-width:768px) {
  .competicoes-banner {
    height: 360px;}
  .competicoes-banner-texto {
    left: 22px;
    right: 22px;
    bottom: 22px;
    max-width: none;}
  .competicoes-banner-texto h1 {
    font-size: 2rem;}
  .competicoes-banner-texto p {
    font-size: 1rem;}}
/* Página Pistas */
.pistas-banner {
  position: relative;
  height: 420px;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
  background-color: #111;}
.pistas-banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  filter: brightness(60%);}
.pistas-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0,0,0,.82),
    rgba(0,0,0,.40),
    rgba(0,0,0,.08));}
.pistas-banner-texto {
  position: absolute;
  left: 42px;
  bottom: 38px;
  z-index: 2;
  max-width: 570px;
  color: #fff;}
.pistas-banner-texto span {
  display: inline-block;
  margin-bottom: 8px;
  padding: 6px 12px;
  border-left: 4px solid #f8f9fa;
  background-color: rgba(0,0,0,.55);
  font-size: .85rem;
  font-weight: 700;
  text-transform: uppercase;}
.pistas-banner-texto h1 {
  margin: 0 0 12px;
  font-size: 2.7rem;
  font-weight: 800;
  line-height: 1.1;
  text-shadow: 0 3px 12px rgba(0,0,0,.45);}
.pistas-banner-texto p {
  margin: 0;
  font-size: 1.1rem;
  line-height: 1.5;}
.pistas-card {
  border: none;
  border-radius: 8px;
  overflow: hidden;
  transition: .3s ease;}
.pistas-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 12px 28px rgba(0,0,0,.20);}
.pistas-card img {
  height: 220px;
  width: 100%;
  object-fit: cover;}
@media (max-width:768px) {
  .pistas-banner {
    height: 360px;}
  .pistas-banner-texto {
    left: 22px;
    right: 22px;
    bottom: 22px;
    max-width: none;}
  .pistas-banner-texto h1 {
    font-size: 2rem;}
  .pistas-banner-texto p {
    font-size: 1rem;}}