/* Marca + links nav */
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--text); }
.brand__logo{ width:clamp(28px,4vw,40px); height:clamp(28px,4vw,40px);
  border-radius:12px; display:grid; place-items:center; font-weight:700; letter-spacing:.5px;
  background:linear-gradient(135deg, var(--brand), var(--brand-2)); color:#0a0f16; box-shadow:var(--shadow);
}
.brand__text{ font-weight:700; font-size:clamp(16px,2.2vw,20px); }

.nav{ display:flex; align-items:center; gap:clamp(6px,2vw,14px); margin-left:auto; }
.nav__link,.dropdown__toggle{
  appearance:none; border:0; background:transparent; cursor:pointer;
  color:var(--text); text-decoration:none; font-weight:600; letter-spacing:.2px;
  padding:10px 12px; border-radius:10px; display:flex; align-items:center; gap:8px; font-size:clamp(13px,1.6vw,15px);
}
.nav__link:hover,.nav__link:focus-visible,.dropdown__toggle:hover,.dropdown__toggle:focus-visible{ background:rgba(0,0,0,.06); outline:none; }
.chev{ width:12px; height:12px; transition:transform .25s ease; opacity:.9; }

.dropdown{ position:relative; }
.dropdown__menu{
  position:absolute; left:0; top:calc(100% + 10px);
  min-width:clamp(240px,40vw,340px); padding:8px; border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.96));
  border:1px solid rgba(0,0,0,.08); box-shadow:0 20px 40px rgba(18,27,51,.18);
  display:grid; gap:4px; opacity:0; transform:translateY(-6px) scale(.98);
  pointer-events:none; transition:opacity .18s ease, transform .18s ease;
}
.dropdown__item{ display:flex; gap:10px; padding:10px; border-radius:10px; color:var(--text); text-decoration:none; font-size:14px; }
.dropdown__item:hover{ background:rgba(0,0,0,.05); }

@media (hover:hover){
  .dropdown:hover .dropdown__menu, .dropdown:focus-within .dropdown__menu{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
  .dropdown:hover .chev, .dropdown:focus-within .chev{ transform:rotate(180deg); }
}

.hamb{ display:none; margin-left:auto; }
.hamb button{ appearance:none; border:1px solid rgba(0,0,0,.12); background:rgba(0,0,0,.04);
  color:var(--text); border-radius:12px; padding:10px 12px; display:flex; align-items:center; gap:10px; }
.hamb svg{ width:22px; height:22px; }

.offcanvas{ display:none; position:fixed; inset:58px 0 auto 0; background:rgba(255,255,255,.98);
  border-top:1px solid rgba(0,0,0,.06); box-shadow:0 18px 26px rgba(18,27,51,.12); }
.offcanvas__inner{ padding:16px clamp(14px,3vw,28px); }
.offcanvas .nav{ flex-direction:column; align-items:stretch; gap:4px; margin-left:0; }
.offcanvas .dropdown__menu{ position:static; opacity:1; transform:none; pointer-events:auto; border:none; box-shadow:none; background:transparent; padding:0 0 8px 8px; gap:2px; display:none; }
.offcanvas[data-open="true"]{ display:block; }
.dropdown[data-open="true"] .dropdown__menu{ display:grid; }
.dropdown[data-open="true"] .chev{ transform:rotate(180deg); }
@media (max-width:960px){ .nav{ display:none; } .hamb{ display:block; } }

/* Botões genéricos */
.btn{
  display:inline-block; text-decoration:none; font-weight:800; padding:12px 16px; border-radius:12px;
  border:1px solid rgba(0,0,0,.18); background:#fff; color:#6b7280; box-shadow:0 8px 18px rgba(0,0,0,.10);
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 12px 22px rgba(0,0,0,.14); }
.btn--primary{ background:linear-gradient(135deg, var(--brand), #0b5ed7); color:#fff; border-color:transparent; }
.btn--pill{ border-radius:999px; }
.btn--accent{ background:var(--accent); color:#1f2430; border-color:transparent; }



/* ====== RODAPÉ (V2) ====== */
.footer{
  background:#51a7ae;
  color:#fff;
  --gap: clamp(16px,3vw,28px);
}
.footer a{ color:#fff; text-decoration:none; }
.footer a:hover{ text-decoration:underline; }

/* containers */
.footer__inner{
  max-width:1200px;
  margin:0 auto;
  padding: clamp(28px,5vw,56px) clamp(14px,3vw,28px);
  display:grid;
  gap: var(--gap);
}

/* TOP: 3 colunas (marca, navegação, contato) */
.footer__top{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr;
  gap: var(--gap);
  align-items:start;
}
@media (max-width: 980px){
  .footer__top{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px){
  .footer__top{ grid-template-columns: 1fr; }
}

/* Marca */
.f-brand{
  display:grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
}
.f-logo{
  width:52px; height:52px; border-radius:14px;
  display:grid; place-items:center; font-weight:800; letter-spacing:.4px;
  background:#fff; color:#51a7ae;
}
.f-name{ margin:2px 0 6px; font-weight:800; font-size:18px; }
.f-desc{ margin:0; opacity:.95; font-size:14px; line-height:1.6; }

/* listas */
.f-title{ margin:0 0 10px; font-weight:800; font-size:16px; }
.f-list{ list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.f-link{ opacity:.95; }
.f-link:hover{ opacity:1; }

/* contato */
.f-contact{ font-size:14px; line-height:1.7; opacity:.95; }
.f-contact a{ text-decoration:underline; }

/* sociais (destaque) */
.f-social{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:12px;
}
.f-social a{
  width:42px; height:42px; border-radius:50%;
  display:grid; place-items:center; background:#fff; color:#51a7ae;
  box-shadow: 0 8px 18px rgba(0,0,0,.18);
  transition: transform .15s ease, box-shadow .15s ease;
}
.f-social a:hover{ transform: translateY(-2px); box-shadow: 0 12px 22px rgba(0,0,0,.22); }
.f-social svg{ width:20px; height:20px; }

/* divisor suave */
.footer__divider{
  height:1px; background: rgba(255,255,255,.35);
  border-radius:1px; width:100%;
}

/* MIDDLE: links auxiliares centralizados (opcional) */
.footer__links{
  display:flex; flex-wrap:wrap; gap:18px; justify-content:center;
  font-size:13px; opacity:.95;
}
.footer__links a{ text-decoration:underline; }

/* BOTTOM: ano sozinho em uma row */
.footer__year{
  text-align:center;
  font-weight:800;
  font-size:14px;
  opacity:.95;
  padding-top: 2px;
}

