/* =========================================
   LGPD – estilos da página
   page-lei-geral
   ========================================= */

/* Hero / banner */
.page-lei-geral .lei-geral-section-1{
  min-height: 45vh;
  margin-top: 10vh;            /* compensa header fixo */
  padding: 12vh 0 6vh;
  background: url('/assets/img/historia-section-one.png') center/cover no-repeat;
  display: flex;
  align-items: center;
}
.page-lei-geral .lei-geral-section-1 h1{
  font-size: 48px;
  font-weight: 800;
  color: #a8821f;
  line-height: 1.2;
  margin: 0;
}

/* Seção principal */
.page-lei-geral .lei-geral-section-2{
  padding: 0;
  background: #f8f9fa; /* bg-light */
}
.page-lei-geral .lei-geral-section-2-content{
  background: #fff;
  padding: 8vh 2vh;
}

/* Texto */
.page-lei-geral .lei-geral-content{
  padding: 0 5vh;
}
.page-lei-geral .lei-geral-text h2{
  font-size: 38px;
  font-weight: 800;
  color: #5e4985;
  line-height: 1.2;
  margin-bottom: 16px;
}
.page-lei-geral .lei-geral-text h2::after{
  content:"";
  display:block;
  width:40px;
  height:5px;
  background:#a47c1b;
  border-radius:6px;
  margin-top:8px;
}
.page-lei-geral .lei-geral-text p{
  font-size:16px;
  line-height:1.8;
  text-align: justify;
  margin:0 0 8px 0;
}

/* Cards de links */
.page-lei-geral .card{
  border: none;
  border-radius: 14px;
  background: #f9f9fc;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.page-lei-geral .card-hover:hover{
  transform: translateY(-4px);
  box-shadow: 0 8px 22px rgba(0,0,0,.12);
}
.page-lei-geral .card-icon{
  font-size: 44px;
  color: #a8821f;
}
.page-lei-geral .card-title{
  font-weight: 700;
  color: #333;
}

/* Imagem lateral – base */
.page-lei-geral .lei-geral-img figure{
  border-radius: 12px;
  overflow: hidden;            /* não deixa vazar */
}
.page-lei-geral .lei-geral-img img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(0,0,0,.08);
}

/* =========================================
   BREAKPOINTS
   ========================================= */

/* Notebook/Tablet landscape (992–1199) */
@media (min-width:992px) and (max-width:1199.98px){
  .page-lei-geral .lei-geral-section-1{ padding: 10vh 0 5vh; }
  .page-lei-geral .lei-geral-section-1 h1{ font-size: 44px; }

  .page-lei-geral .lei-geral-section-2-content{ padding: 7vh 0; }
  .page-lei-geral .lei-geral-content{ padding: 0 3vh; }
  .page-lei-geral .lei-geral-text h2{ font-size: 34px; }
}

/* Tablet (768–991) — 2 cards por linha */
@media (min-width:768px) and (max-width:991.98px){
  .page-lei-geral .lei-geral-section-1{
    margin-top: 9vh;
    padding: 9vh 0 5vh;
    text-align: center;
  }
  .page-lei-geral .lei-geral-section-1 h1{ font-size: 40px; }

  .page-lei-geral .lei-geral-section-2-content{ padding: 5vh 0; }
  .page-lei-geral .lei-geral-content{ padding: 0 3vh; }
  .page-lei-geral .lei-geral-text h2{ font-size: 32px; }

  .page-lei-geral .lei-geral-img{ margin-top: 2rem; padding: 0vh 3vh;}

  /* força 2 por linha para evitar colunas estreitas */
  .page-lei-geral .lei-geral-links .col-md-4{
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
  .page-lei-geral .card-title{ font-size: 1rem; }
}

/* Mobile (<=767) */
@media (max-width:767.98px){
  .page-lei-geral .lei-geral-section-1{
    margin-top: 10vh;
    padding: 8vh 0 5vh;
    text-align: center;
    background-position: center;
  }
  .page-lei-geral .lei-geral-section-1 h1{ font-size: 34px; }

  .page-lei-geral .lei-geral-section-2-content{ padding: 4vh 0; }
  .page-lei-geral .lei-geral-content{ padding: 0 2rem; }

  .page-lei-geral .lei-geral-text h2{ font-size: 28px; }
  .page-lei-geral .lei-geral-text p{ font-size: 15px; }

  .page-lei-geral .card-icon{ font-size: 40px; }

  .lei-geral-img{
    padding: 0vh 4vh;
  }
}

/* =============================
   Igualar alturas em ≥992px
   e fazer a imagem "cover"
   ============================= */
@media (min-width:992px){
  .page-lei-geral .lei-geral-section-2 .row{
    align-items: stretch !important;     /* cols com a mesma altura */
  }
  .page-lei-geral .lei-geral-img{
    display: flex;
    align-items: stretch;
    padding: 0vh 2vh;
  }
  .page-lei-geral .lei-geral-img figure{
    flex: 1 1 auto;
    height: 100%;
    margin: 0;
  }
  .page-lei-geral .lei-geral-img img{
    height: 100%;
    width: 100%;
    object-fit: cover;                    /* cover real */
    object-position: center;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(0,0,0,.08);
  }
}
