/* =======================================
   VARIÁVEIS + TIPOGRAFIA RESPONSIVA
======================================= */
:root{
  --topbar-h: 27px;
  --bar-height: 50px;
  --container-max: 1065px;      /* largura única do site */
  --hero-offset: calc(var(--topbar-h) + 70px); /* offset único do header fixo */

  --fs-300: clamp(0.95rem, 0.80rem + 0.40vw, 1.05rem);
  --fs-400: clamp(1.05rem, 0.95rem + 0.55vw, 1.20rem);
  --fs-500: clamp(1.20rem, 1.05rem + 0.85vw, 1.45rem);
  --fs-600: clamp(1.45rem, 1.15rem + 1.40vw, 1.85rem);
  --fs-700: clamp(1.80rem, 1.30rem + 2.10vw, 2.40rem);

  --c-text:   #212121;
  --c-muted:  #495057;
  --c-brand1: #28a745;
  --c-brand2: #ffc107;
  --c-brand3: #3cb371;
  --c-brand4: #00aeef;
}
html { scroll-behavior:smooth; min-height:100%; }
body {
  font-family: 'Poppins', sans-serif;
  font-size: var(--fs-300);
  line-height: 1.65;
  color: var(--c-text);
  background: #fff url('../img/geral/fundo.avif') repeat center;
  background-attachment: fixed;
  background-size: 7%;
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
}
.container{
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: 15px;
}

/* Títulos chave */
.brand-text { font-size: clamp(1.35rem, 1.08rem + 1.05vw, 1.65rem); white-space: normal; }
.start-header.scroll-on .brand-text { font-size: clamp(1.10rem, 0.95rem + 0.42vw, 1.32rem); }

/* Hero — título contido */
.hero .overlay h1,
.custom-overlay-title{
  font-weight: 700;
  font-size: clamp(1.35rem, 0.80rem + 1.20vw, 1.85rem);
  line-height: 1.25;
}
.info-card h5 { font-size: clamp(1.05rem, 0.95rem + 0.4vw, 1.30rem); }
.info-card p  { font-size: clamp(0.95rem, 0.90rem + 0.2vw, 1.05rem); }

/* Footer2 textos mínimos */
.footer2 .bloco p,
.footer2 .bloco li,
.footer2 .rodape-baixo,
.footer2 .privacidade,
.footer2 .termos a { font-size: clamp(0.95rem, 0.88rem + 0.25vw, 1.05rem); line-height:1.6; }
.footer2 .nome-marca, .footer2-menu { font-size: clamp(1.00rem, 0.92rem + 0.6vw, 1.10rem); }
.footer2 .contrato-pequeno { font-size: clamp(0.85rem, 0.78rem + 0.25vw, 0.95rem); }

/* =============================
   BASE / GERAIS
============================= */
.section-no-gap + .section-no-gap { padding-top: 0 !important; }
.highlight-green { color: #28a745; }
.text-shadow { text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.25); }

/* Âncoras (header fixo) */
[id]{ scroll-margin-top: calc(var(--topbar-h) + 84px); }
.section-no-gap{ scroll-margin-top: calc(var(--topbar-h) + 70px); }

/* Animações gerais */
@keyframes float-bob { 0%{transform:translateY(0);} 50%{transform:translateY(-8px);} 100%{transform:translateY(0);} }
@keyframes spin { to { --angle: 360deg; } }

/* =============================
   LOGO / TEXTO DE MARCA
============================= */
.brand-text {
  font-family: 'Exo 2', sans-serif;
  font-weight: 600;
  color: #212121;
  transition: all 0.3s ease-out;
  line-height: 1;
}
@media (min-width: 992px){
  .brand-text{ white-space: nowrap; }
}

/* =============================
   NAVEGAÇÃO / MENU
============================= */
.start-header { padding: 10px 0; box-shadow: 0 10px 30px 0 rgba(138,155,165,.15); transition: all .3s ease-out; }
.start-header.scroll-on { padding: 3px 0; box-shadow: 0 5px 10px 0 rgba(138,155,165,.15); }

  .navigation-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background-color: #fff;
    margin-top: var(--topbar-h);
    overflow: visible;
  }

.start-header > .container { max-width: var(--container-max); margin-inline:auto; padding-inline:15px; }
.navigation-wrap .navbar-brand { margin-left: 1.5rem; }
.navigation-wrap .navbar-nav { margin-right: 1.5rem; }
.navbar-brand img {
  aspect-ratio: auto;
  flex: 0 0 auto;
  height: 38px;
  max-width: none;
  object-fit: contain;
  transition: all .3s ease-out;
  width: auto;
}
.start-header.scroll-on .navbar-brand img { height: 30px; width: auto; }
.navbar-toggler { border: none; }
.navbar-nav .nav-link { color: #212121 !important; font-weight: 500; padding: 5px 0 !important; }
.nav-item { position: relative; padding-left: 1rem; }
.nav-item:hover .nav-link { color: #2662aa !important; }
.nav-item::after{
  content:''; position:absolute; bottom:-5px; left:0; width:100%; height:2px;
  background-color:#2662aa; opacity:0; transition:all .2s linear;
}
.nav-item:hover::after{ bottom:0; opacity:1; }
.lang-dropdown .bi-globe2 { font-size: 1rem; }

/* barra fina acima do menu */
  .top-bar {
    background: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
    font-size: .875rem;
    height: var(--topbar-h);
    line-height: var(--topbar-h);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    overflow: visible;
  }
  .top-bar > .container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 1.5rem;
  }
  .top-bar a {
    color: #212529;
  }

/* =============================
   BOTAO VOLTAR AO TOPO
============================= */
.back-to-top {
  align-items: center;
  background: #2662aa;
  border: 1px solid #2662aa;
  border-radius: 999px;
  bottom: 22px;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  color: #fff;
  cursor: pointer;
  display: flex;
  height: 44px;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 22px;
  transform: translateY(12px);
  transition: opacity .2s ease, transform .2s ease, background-color .2s ease;
  width: 44px;
  z-index: 9998;
}

.back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.back-to-top:hover,
.back-to-top:focus-visible {
  background: #2569bb;
  color: #fff;
  outline: none;
}

.back-to-top i {
  font-size: 1.25rem;
  line-height: 1;
}

@media (max-width: 575.98px) {
  .back-to-top {
    bottom: 16px;
    height: 40px;
    right: 16px;
    width: 40px;
  }
}

/* BOTÕES utilitários */
.nswl-btn{
  width:40px; height:40px; position:relative; display:flex; align-items:center; justify-content:center;
  background:#FFFFFF; border:0; border-radius:6px; cursor:pointer; transition:box-shadow .25s;
}
.nswl-btn:hover{ box-shadow:0 4px 4px -2px rgba(0,0,0,.40); }
.nswl-btn img, .nswl-btn svg{ width:26px; height:26px; }

/* Tooltip */
.nswl-btn .label{
  position:absolute; bottom:calc(100% + 8px); left:50%; transform:translateX(-50%) translateY(8px);
  background:#FFFFFF; color:#111; padding:6px 8px; font-family:'Montserrat',sans-serif; font-size:.7rem;
  border-radius:4px; white-space:nowrap; box-shadow:0 2px 4px rgba(0,0,0,.25);
  opacity:0; pointer-events:none; transition:opacity .20s, transform .20s; z-index:10000;
}
.nswl-btn:hover .label, .nswl-btn:focus .label, .nswl-btn:focus-visible .label{ opacity:1; transform:translateX(-50%) translateY(0); }

/* =============================
   TOAST + COPY-BOX
============================= */
#toast-box{
  position:fixed; right:1.5rem; bottom:calc(var(--bar-height) + 16px);
  transform:translateY(120%); max-width:22rem; padding:1.2rem 1.8rem;
  background: rgba(52,58,64,.75); color:#fff; font-family:'Montserrat',sans-serif; font-size:.95rem;
  border:2px solid transparent; border-radius:.4rem; box-shadow:0 4px 12px rgba(0,0,0,.35);
  text-align:center; opacity:0; display:block; pointer-events:none; transition:transform .25s, opacity .25s; z-index:10000;
}
#toast-box.active{ transform:translateY(0); opacity:1; pointer-events:auto; }
#toast-box.success{ border:2px solid #495057; }

.contract-row{ display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; max-width:420px; margin:auto; }
.copy-box{ display:flex; align-items:center; flex:1 1 260px; }
.copy-box input{
  flex:1 1 auto; min-width:0; width:auto; padding:.6rem .8rem; font-family:'Montserrat',sans-serif; font-size:.7rem;
  border:1px solid #d0d0d0; border-radius:4px; background:#fdfdfd; color:#111; text-overflow:ellipsis;
}
.copy-box .nswl-btn{ flex:0 0 40px; margin-left:4px; box-shadow:none; }
.copy-box .nswl-btn img{ width:14px; height:14px; }

/* =============================
   HERO (VÍDEO)
============================= */
.hero{
  position:relative; height:600px; width:100%; overflow:hidden; z-index:1;
  background:url("../videos/poster.jpg") center center no-repeat; background-size:cover; background-color:#000;
}
.hero video{
  position:absolute; top:50%; left:50%; width:100%; height:auto; min-height:100%;
  z-index:0; transform:translate(-50%,-50%); object-fit:cover;
}
.hero .overlay{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:1; text-align:center;
  width:min(920px, calc(100% - 48px)); box-sizing:border-box;
  color:#fff; text-shadow:1px 1px 6px rgba(0,0,0,.7); padding:16px 22px; background-color:rgba(0,0,0,.4); border-radius:10px;
}
.hero .overlay h1.custom-overlay-title{
  margin:0;
  font-size:clamp(1.15rem, 0.72rem + 1vw, 1.50rem);
  line-height:1.22;
}

/* Cores NSWL */
.n-color { color:#28a745; } .s-color { color:#ffc107; } .w-color { color:#3cb371; } .l-color { color:#00aeef; }

/* =============================
   INFO CARDS
============================= */
.info-cards{ position:relative; margin-top:-150px; z-index:2; }
.cards-wrapper{ max-width: var(--container-max); margin:0 auto; }
.info-card{
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(5px);
  border-radius:10px;
  border:3px solid rgba(0,0,0,.02);
  box-shadow:4px 4px 20px rgba(0,0,0,.2);
  padding:20px; text-align:center; width:100%; height:100%;
  margin:0; transition:transform .3s ease, box-shadow .3s ease;
  display:flex; flex-direction:column; justify-content:flex-start;
}
.info-card:hover{ transform:translateY(-5px); box-shadow:0 6px 25px rgba(0,0,0,.35); }
.info-card img{ width:200px; height:200px; object-fit:cover; margin:20px auto; }
.text-poco{color:#00aeef;} .text-educacao{color:#c99700;} .text-espacos{color:#28a745;}

/* =============================
   SECÇÃO MISSÃO / CARTÕES
============================= */
.card-missao{ max-width: var(--container-max); margin:0 auto; }
.card-missao h2{ font-family:'Exo 2',sans-serif; font-size:var(--fs-600); text-shadow:2px 2px 4px rgba(0,0,0,.35); }
.card-missao p{ color:#333; }
.img-missao{ width:100%; max-height:250px; object-fit:cover; display:block; margin:0 auto; border-radius:4px; }

/* Carousel */
.carousel-img{ width:500px; max-width:100%; height:350px; object-fit:cover; border-radius:5px; box-shadow:2px 2px 4px rgba(0,0,0,.35); display:block; margin:0 auto; }
@media (min-width:992px){ .carousel-img{ width:280px; height:450px; } }

/* separador de doações */
.doacoes{ padding-top:.1rem !important; }

/* =============================
   BENEFÍCIOS (box)
============================= */
.beneficios{
  background:#fff; border:1px solid #e9ecef; padding:1rem; border-radius:.75rem;
  box-shadow:0 .125rem .25rem rgba(0,0,0,.075); color:#28a745; line-height:1.5;
}
.beneficios i.bi{ flex-shrink:0; margin-right:.5rem; }

/* =============================
   TOKEN $NSWL / GRÁFICOS
============================= */
.dxs-wrapper{ position:relative; width:100%; height:400px; overflow:hidden; border-radius:4px; }
.dxs-wrapper iframe{ position:absolute; top:-32px; left:-60px; width:calc(100% + 60px); height:calc(100% + 32px); border:0; }
.dxs-wrapper .dxs-link{ position:absolute; inset:0; z-index:10; pointer-events:none; }
.logo-nswl{ width:400px; max-width:100%; height:250px; object-fit:cover; border-radius:5px; box-shadow:2px 2px 4px rgba(0,0,0,.35); display:block; margin:0 auto; }
@media (min-width:992px){ .logo-nswl{ width:280px; height:400px; } }
.gecko-chart{ width:100%; height:420px; border:0; }
.dxs-chart{ width:100%; height:420px; border:0; pointer-events:auto; touch-action:auto; }

/* TradingView */
#tradingview_nswl{height:200px;width:100%;}
@media (min-width:576px){ #tradingview_nswl{height:250px;} }
@media (min-width:992px){ #tradingview_nswl{height:300px;} }

/* =============================
   ÚLTIMAS NOTÍCIAS (cards/lista)
============================= */
/* Botões */
.btn-buy-nswl,
.btn-modern-news {
  padding: .35rem .8rem;
  border-radius: .25rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .875rem;
  box-shadow: 0 2px 10px rgba(0,0,0,.1);
  transition: all .3s ease;
  color: #fff;
}
.btn-buy-nswl,
.btn-modern-news { background-color: #2662aa; border: 2px solid #2662aa; }
.btn-buy-nswl:hover,
.btn-modern-news:hover { filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 4px 16px rgba(0,0,0,.15); }
.btn-buy-nswl:active,
.btn-modern-news:active { transform: translateY(0); }

/* Cartões e glass */
.list-group-item {
  background: rgba(255,255,255,.8);
  border: 1px solid rgba(0,0,0,.05);
  transition: all .3s ease;
}
.list-group-item:hover {
  background: rgba(255,255,255,.95);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,.1);
}

/* Notícia com imagem */
.news-item-with-image {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding-bottom: 20px;
  background: transparent;
  border: none;
  margin-bottom: 15px;
  color: inherit;
  transition: all .3s ease;
}
.news-content { flex: 1; min-width: 0; }
.news-title { font-weight: 600; line-height: 1.4; margin-bottom: 1rem; color: #2c3e50; }
.news-title a { color: #2c3e50; text-decoration: none; }
.news-title a:hover, .news-title a:focus { color: #2c3e50; text-decoration: none; }
.news-excerpt { color: #444; }

/* Meta: data e categoria */
.news-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: .25rem 0 .5rem;
}
.news-date { font-size: .85rem; color: #7f8c8d; display: inline-block; }
.news-category {
  display: inline-block; background: #2662aa; color: #fff;
  font-size: .75rem; font-weight: 600; padding: 4px 10px; border-radius: 4px;
  letter-spacing: .5px; text-decoration: none; text-transform: uppercase;
}

/* Placeholder de imagem */
.news-image-placeholder {
  background: linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; color: #6c757d; font-size: 3rem;
}

/* Imagem relacionada */
.related-card-img {
  width: 100%; height: 140px; max-height: 140px; aspect-ratio: 16/9;
  object-fit: contain; object-position: center; background: #000;
}

/* Seções sem espaçamento */
.section-no-gap { position: relative; }

/* Desktop (>=769px) ajustes de notícia */
@media (min-width: 769px) {
  .news-title { font-size: 1.25rem; margin-bottom: 1rem; }
  .news-excerpt {
    font-size: .9rem; line-height: 1.5; margin: 0;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
    overflow: hidden; text-overflow: ellipsis;
  }
  .uniform-img {
    width: 250px; height: 150px; max-height: 150px; aspect-ratio: 5/3;
    object-fit: contain; object-position: center; background: #000;
    border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,.1);
    transition: transform .3s ease, box-shadow .3s ease;
  }
  .uniform-img:hover { transform: translateY(-6px) scale(1.03); box-shadow: 0 10px 24px rgba(0,0,0,.15); }
}

/* Shared professional news list used by news.php and homepage latest news */
.news-list-panel {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
  padding: 1.25rem 1.35rem;
}

.news-list-panel .news-card {
  align-items: flex-start;
  background: transparent;
  border: 0;
  border-bottom: 1px solid #d1d1d1;
  border-radius: 0;
  box-shadow: none;
  display: flex;
  gap: 1.25rem;
  margin: 0 0 1.35rem;
  overflow: visible;
  padding: 0 0 1.35rem;
}

.news-list-panel .news-card:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.news-list-panel .news-card:hover {
  box-shadow: none;
}

.news-list-panel .news-card__body {
  flex: 1 1 auto;
  min-width: 0;
  padding: .15rem 0 0;
}

.news-list-panel .news-card header {
  padding: 0;
}

.news-list-panel .news-title,
.news-list-panel .news-title.display-6 {
  color: #2c3e50;
  font-family: 'Poppins', sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 .45rem;
  text-shadow: none;
}

.news-list-panel .news-title a:hover {
  color: #2662aa;
}

.news-list-panel .news-meta {
  align-items: center;
  color: #495057;
  display: flex;
  flex-wrap: wrap;
  font-size: .78rem;
  gap: .55rem;
  margin-bottom: .6rem;
}

.news-list-panel .news-card__body > .lead {
  color: #212529;
  font-size: .95rem;
  line-height: 1.55;
  margin: 0;
  padding: .1rem 0 0;
}

.news-list-panel .news-card__media-link {
  display: block;
  flex: 0 0 280px;
}

.news-list-panel .news-card__media {
  aspect-ratio: 5 / 3;
  background: #f3f7fb;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
  display: block;
  height: auto;
  min-height: 0;
  overflow: hidden;
  width: 100%;
}

.news-list-panel .news-card__media img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: center;
  width: 100%;
}

.news-list-panel .news-card__placeholder {
  align-items: center;
  color: #6c757d;
  display: flex;
  font-size: 2rem;
  justify-content: center;
}

.news-list-panel .news-category {
  background: #eaf3ff;
  border: 1px solid #c9d9ee;
  border-radius: 999px;
  color: #2662aa;
  display: inline-block;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .5px;
  line-height: 1.2;
  padding: .25rem .65rem;
  text-decoration: none;
  text-transform: uppercase;
}

.news-list-panel .news-category:hover {
  background: #dcecff;
  border-color: #a9c6e8;
  color: #1d5798;
}

.home-latest-news > .mt-4 {
  margin-top: 1.4rem !important;
}

.home-latest-news > hr:last-of-type {
  margin-top: 1.4rem;
}

/* =============================
   “COMO ADQUIRIR $NSWL”
============================= */
.step-img-wrapper{
  aspect-ratio:16/9;
  height:auto; overflow:hidden;
  display:flex; justify-content:center; align-items:center;
}
.step-img{
  width:100%; height:100%; object-fit:cover;
  border-radius:.35rem; box-shadow:0 4px 10px rgba(0,0,0,.25);
  transition:transform .3s ease, box-shadow .3s ease;
}
.step-card:hover .step-img{ transform:scale(1.05); box-shadow:0 8px 20px rgba(0,0,0,.35); }
.step-card{ padding-left:2.5px; padding-right:2.5px; height:100%; display:flex; flex-direction:column; justify-content:start; text-decoration:none; color:inherit; }
.step-card:link, .step-card:visited, .step-card:hover, .step-card:focus, .step-card:active{ color:inherit; text-decoration:none; }
.step-inner{ background:#fff; border-radius:10px; box-shadow:0 4px 10px rgba(0,0,0,.05); padding:15px; height:100%; display:flex; flex-direction:column; justify-content:flex-start; }
.step-info{ display:flex; align-items:flex-start; justify-content:flex-start; gap:.5rem; margin-top:1rem; text-align:left; }
.step-num{ font-weight:700; color:#000; font-size: clamp(0.95rem, 0.85rem + 0.35vw, 1.10rem); }
.step-info span{ color:#000; }
.step-info span:last-child{ font-size: clamp(0.95rem, 0.85rem + 0.35vw, 1.05rem); }

/* =============================
   ESTATÍSTICAS
============================= */
.stats-row{
  max-width: var(--container-max);
  width:100%;
  margin-inline:auto;
  padding-inline:16px;
}
.stats-row .row > [class*="col-"]{ display:flex; }   /* equal-height por linha */

.stat-box{
  background:#fff; border-radius:.6rem; padding:.7rem .6rem;
  box-shadow:0 3px 10px rgba(0,0,0,.22); transition:transform .2s, box-shadow .2s;
  height:100%; min-height:140px; display:flex; flex-direction:column; justify-content:center;
}
.stat-box:hover{ transform:translateY(-3px); box-shadow:0 5px 14px rgba(0,0,0,.22); }

.stat-icon{
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.05rem; box-shadow:0 4px 10px rgba(0,0,0,.22);
  margin-bottom:.15rem;
}
.stat-icon i{ filter: drop-shadow(0 2px 2px rgba(0,0,0,.15)); }

.stat-number{
  position:relative; font-weight:700;
  font-size: clamp(1.20rem, 0.95rem + 0.7vw, 1.50rem);
  margin:.15rem 0 .25rem; text-shadow:2px 2px 7px rgba(0,0,0,.22);
  animation:pulseNum 3s ease-in-out infinite;
}
@keyframes pulseNum{
  0%{ text-shadow:none; transform:translateY(0); }
  50%{ text-shadow:0 6px 15px rgba(0,0,0,.45); transform:translateY(-2px); }
  100%{ text-shadow:none; transform:translateY(0); }
}

.stat-label{
  min-height:2.6rem;
  font-size: clamp(0.92rem, 0.82rem + 0.25vw, 1.00rem);
  line-height:1.2;
}

/* =============================
   FAQ
============================= */
.faq-accordion .accordion-button{
  background:#2b2b2b; color:#fff; font-weight:600; padding:.75rem 1rem; border:0; border-bottom:2px solid #fff;
}
.faq-accordion .accordion-button.collapsed{ border-bottom:0; }
.faq-accordion .accordion-button:focus{ box-shadow:none; }
.faq-accordion .accordion-button[aria-expanded="true"]{ background:#343a40; color:#fff; }
.faq-accordion .accordion-button::after{ filter:invert(1); }
.faq-accordion .accordion-body{ background:#fff; padding:1rem 1.25rem; border:2px solid #d5d5d5; border-top:none; }

.btn-dispositivo{
  background:#fff; color:#1e1e1e; font-weight:600; padding:.5rem 1.2rem;
  font-size:1rem; border-radius:.65rem; border:2px solid #ccc; transition:background-color .2s, color .2s;
}
.btn-dispositivo.selected{ background:#1e1e1e; color:#fff; border-color:#1e1e1e; }
.btn-dispositivo:hover{ background:#343a40 !important; color:#fff !important; }
.accordion-body li:not(:last-child){ border-bottom:2px dashed #e0e0e0; padding-bottom:.8rem; margin-top:.8rem; }
.accordion-body ol{ padding-left:1.3rem; }
.copy-inline{ display:inline-block; vertical-align:middle; margin-left:4px; }

/* =============================
   FOOTER2
============================= */
.footer2 {
  background: #1a1a1a;
  color: #ccc;
  padding: 36px 20px 22px;
  font-size: 15px;
  margin-top: auto;
}
.footer2 .estrutura {
  max-width: var(--container-max);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(230px, 1.35fr) minmax(150px, .85fr) minmax(180px, .95fr) auto;
  align-items: flex-start;
  gap: 28px;
  border-top: 1px solid #444;
  border-bottom: 1px solid #444;
  padding: 30px 0;
}
.bloco { flex: 2; }
.bloco.pequeno { flex: 1.5; }
.footer2 .bloco p, .footer2 .bloco li { color: #aaa; margin-bottom: 6px; line-height: 1.55; font-size: 12px; }
.footer2 .bloco ul { list-style: none; padding: 0; margin-top: 10px; margin-bottom: 1rem; }
.footer2 .bloco a { text-decoration: none; color: #bbb; position: relative; transition: color 0.3s, text-shadow 0.3s; }
.footer2 .bloco a:hover { color: #fff; }
.footer2 .divisoria { display: none; }
.footer2 .redes-sociais{ display:flex; gap:14px; margin:16px 0 0; }
.footer2 .redes-sociais a{ font-size:22px; color:#888; transition: transform .2s, color .2s; }
.footer2 .redes-sociais a:hover{ transform:scale(1.12); color:#ddd; }
.footer2 .marca-interna { margin-bottom: 10px; display: flex; align-items: center; gap: 15px; }
.footer2 .marca-interna img.logo { height: 44px; margin-bottom: 0; }
.footer2 .nome-marca { font-weight: 700; font-size: 19px; color: #ffffff; letter-spacing: .2px; }
.footer2 .linha-final { margin: 22px auto 12px; width: 100%; height: 1px; background: #2c2c2c; }
.footer2 .rodape-baixo { text-align: center; font-size: 11px; color: #666; display: flex; flex-direction: column; gap: 5px; }
.footer2 .termos a { color: #999; text-decoration: none; font-size: 11px; margin: 0 5px; }
.footer2 .termos a:hover { color: #ccc; text-decoration: underline; }
.footer2 .estrutura > .bloco:not(:first-child) { padding-left: 0; border-left: 0; }
.footer2 .privacidade { font-size: 11px; color: #777; font-style: italic; }
.footer2 .lang-footer{ margin-left:auto; display:flex; justify-content:flex-end; align-items:flex-start; }
.lang-btn{ background:#222; color:#ccc; border:1px solid #495057; font-weight:600; padding:8px 12px; border-radius:6px; font-size:clamp(.85rem,.80rem + .3vw,.95rem); }
.lang-btn:hover, .lang-btn:focus{ background:#343a40; border-color:#fff; color:#fff; }
  .lang-footer .dropdown-menu {
    background: #343a40;
    font-size: .85rem;
    border-radius: .45rem;
  }

@media (max-width: 991.98px) {
  .footer2 .estrutura {
    grid-template-columns: 1fr 1fr;
  }
}
