/* ============================================================
   VIVA MANGUE BIOTECH — style.css
   CSS compartilhado entre todas as páginas
   ============================================================ */

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}

:root{
  --g1:#0a1f0c;--g2:#1a3d1f;--g3:#2d6a35;--g4:#4a9454;--g5:#7ec97f;--g6:#c2e8c3;
  --b1:#020f1c;--b2:#042c53;
  --ow:#f5f2ec;--cr:#ede8df;
  --tx:#1a1a1a;--txm:#3d3d3d;--txl:#6b6b6b;
  --rad:50px;
}

body{font-family:'DM Sans',sans-serif;background:var(--ow);color:var(--tx);overflow-x:hidden}

/* ── REVEAL ANIMATIONS ── */
.rv{opacity:0;transform:translateY(34px);transition:opacity .72s ease,transform .72s ease}
.rv.on{opacity:1;transform:translateY(0)}
.rl{opacity:0;transform:translateX(-34px);transition:opacity .72s ease,transform .72s ease}
.rl.on{opacity:1;transform:translateX(0)}
.rr{opacity:0;transform:translateX(34px);transition:opacity .72s ease,transform .72s ease}
.rr.on{opacity:1;transform:translateX(0)}
.d1{transition-delay:.06s}.d2{transition-delay:.14s}.d3{transition-delay:.22s}
.d4{transition-delay:.30s}.d5{transition-delay:.38s}

/* ── TIPOGRAFIA UTILITÁRIA ── */
.lbl{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--g4);margin-bottom:13px;display:block}
.lbl.c{color:rgba(126,201,127,.6)}
.h2t{font-family:'Syne',sans-serif;font-size:clamp(2rem,3.8vw,3.3rem);font-weight:800;line-height:1.0;letter-spacing:-.022em;color:var(--g2)}
.h2t.c{color:#fff}
.ic{display:inline-block;vertical-align:middle;margin-left:2px}

/* ── BOTÕES ── */
.bp{display:inline-flex;align-items:center;gap:8px;background:var(--g4);color:#fff;text-decoration:none;font-size:14.5px;font-weight:500;padding:13px 26px;border-radius:var(--rad);transition:background .2s,transform .15s,box-shadow .2s;letter-spacing:.02em;border:none;cursor:pointer;font-family:'DM Sans',sans-serif}
.bp:hover{background:var(--g3);transform:translateY(-2px);box-shadow:0 10px 28px rgba(74,148,84,.35)}
.bs{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);color:rgba(245,242,236,.88);text-decoration:none;font-size:14.5px;font-weight:400;padding:13px 26px;border-radius:var(--rad);border:1px solid rgba(245,242,236,.22);transition:background .2s,border-color .2s,color .2s,transform .15s}
.bs:hover{background:rgba(255,255,255,.14);border-color:rgba(245,242,236,.5);color:#fff;transform:translateY(-2px)}

/* ── NAV ── */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 6%;
  background:rgba(10,31,12,.55);
  transition:padding .35s,background .4s,backdrop-filter .4s;
}
#nav.sc{
  background:rgba(10,31,12,.96);
  backdrop-filter:blur(20px);
  padding:12px 6%;
  border-bottom:1px solid rgba(126,201,127,.1);
}

/* LOGO NAV */
.logo{text-decoration:none;display:inline-flex;align-items:center;gap:10px}
.logo-ico{height:48px;width:48px;object-fit:contain;border-radius:50%;background:var(--g2);padding:4px;flex-shrink:0;border:1.5px solid rgba(126,201,127,.25);transition:transform .25s}
.logo:hover .logo-ico{transform:scale(1.05)}
.logo-txt{display:flex;flex-direction:column;line-height:1;gap:1px}
.logo-viva{font-family:'Syne',sans-serif;font-size:1.2rem;font-weight:800;color:#fff;letter-spacing:.04em;line-height:1}
.logo-mangue{font-family:'Syne',sans-serif;font-size:1.2rem;font-weight:800;color:#fff;letter-spacing:.04em;line-height:1}
.logo-bio{font-family:'Syne',sans-serif;font-size:.5rem;font-weight:600;color:var(--g5);letter-spacing:.18em;margin-top:3px;line-height:1}

/* NAV DIREITA */
.nav-right{display:flex;align-items:center;gap:8px}
.nav-ul{display:flex;gap:32px;list-style:none;margin-right:8px}
.nav-ul a{color:rgba(255,255,255,.72);text-decoration:none;font-size:12.5px;font-weight:400;letter-spacing:.07em;text-transform:uppercase;transition:color .2s;position:relative}
.nav-ul a::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1px;background:var(--g5);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-ul a:hover{color:#fff}
.nav-ul a:hover::after{transform:scaleX(1)}
.nav-ul a.active{color:#fff}
.nav-ul a.active::after{transform:scaleX(1)}
.ncta{background:var(--g4)!important;color:#fff!important;padding:9px 20px;border-radius:var(--rad)!important;font-weight:500!important;letter-spacing:.03em!important}
.ncta::after{display:none!important}
.ncta:hover{background:var(--g3)!important}

/* HAMBURGER */
.hbg{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}
.hbg span{display:block;width:22px;height:1.5px;background:#fff;transition:all .3s}

/* ── SELETOR DE IDIOMA ── */
.lang-selector{position:relative;user-select:none}
.lang-btn{
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--rad);
  padding:7px 14px;
  color:rgba(255,255,255,.8);
  font-family:'DM Sans',sans-serif;
  font-size:12px;font-weight:500;
  cursor:pointer;
  transition:background .2s,border-color .2s;
}
.lang-btn:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.35);color:#fff}
.lang-flag-btn{font-size:15px;line-height:1}
.lang-label{letter-spacing:.06em;text-transform:uppercase}
.lang-arrow{font-size:9px;transition:transform .2s;opacity:.6}
.lang-selector.open .lang-arrow{transform:rotate(180deg)}
.lang-dropdown{
  display:none;
  position:absolute;top:calc(100% + 8px);right:0;
  background:rgba(10,31,12,.97);
  backdrop-filter:blur(16px);
  border:1px solid rgba(126,201,127,.15);
  border-radius:14px;
  min-width:160px;
  overflow:hidden;
  box-shadow:0 12px 40px rgba(0,0,0,.35);
  z-index:600;
}
.lang-selector.open .lang-dropdown{display:block;animation:dropIn .2s ease}
@keyframes dropIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.lang-option{
  display:flex;align-items:center;gap:10px;
  padding:11px 16px;
  cursor:pointer;
  transition:background .15s;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.lang-option:last-child{border-bottom:none}
.lang-option:hover{background:rgba(126,201,127,.1)}
.lang-option.active{background:rgba(126,201,127,.08)}
.lang-flag{font-size:16px;line-height:1;flex-shrink:0}
.lang-name{font-size:13.5px;font-weight:500;color:rgba(245,242,236,.85);flex:1}
.lang-code{font-size:10px;color:rgba(245,242,236,.3);font-family:monospace;letter-spacing:.06em}
.lang-option.active .lang-name{color:var(--g5)}
.lang-option.active .lang-code{color:var(--g5)}
/* Oculta barra nativa do Google Translate */
.goog-te-banner-frame,.skiptranslate{display:none!important}
body{top:0!important}

/* ── MOBILE NAV ── */
.mnav{
  display:none;position:fixed;inset:0;
  background:rgba(10,31,12,.98);z-index:499;
  flex-direction:column;align-items:center;justify-content:center;gap:34px;
}
.mnav.open{display:flex}
.mnav a{color:rgba(255,255,255,.8);text-decoration:none;font-family:'Syne',sans-serif;font-size:clamp(1.5rem,7vw,2.2rem);font-weight:700;transition:color .2s}
.mnav a:hover{color:var(--g5)}
.mnav-x{position:absolute;top:22px;right:6%;background:none;border:none;cursor:pointer;font-size:26px;color:rgba(255,255,255,.5)}

/* ── HERO (base compartilhada) ── */
.hero-page{
  position:relative;min-height:55vh;
  display:flex;align-items:flex-end;
  overflow:hidden;background:var(--g1);
  padding:0 6% 72px;
}
.hero-page-bg{position:absolute;inset:-10%;background-size:cover;background-position:center;will-change:transform}
.hero-page-ov{
  position:absolute;inset:0;
  background:
    linear-gradient(to top,rgba(10,31,12,1) 0%,rgba(10,31,12,.45) 45%,rgba(10,31,12,.2) 100%),
    linear-gradient(to right,rgba(10,31,12,.75) 0%,transparent 60%);
}
.hero-page-body{position:relative;z-index:2;padding-top:130px;max-width:700px}
.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--g5);margin-bottom:20px;opacity:0;animation:aUp .8s .3s forwards}
.hdot{width:6px;height:6px;border-radius:50%;background:var(--g5);animation:blink 2.5s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
.hero-h1{font-family:'Syne',sans-serif;font-size:clamp(2.4rem,5.5vw,5rem);font-weight:800;color:#fff;line-height:.97;letter-spacing:-.025em;margin-bottom:20px;opacity:0;animation:aUp .9s .5s forwards}
.hero-h1 span{color:var(--g5)}
.hero-sub{font-size:clamp(.95rem,1.5vw,1.1rem);font-weight:300;color:rgba(245,242,236,.65);line-height:1.75;max-width:520px;opacity:0;animation:aUp .9s .7s forwards}
@keyframes aUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}

/* ── FOOTER ── */
footer{background:var(--g1);padding:70px 6% 28px}
.ftg{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.4fr;gap:46px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:24px}
.flogo-bloco{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px}
.flogo-ico{height:46px;width:46px;object-fit:contain;border-radius:50%;background:rgba(255,255,255,.06);padding:4px;flex-shrink:0;border:1.5px solid rgba(126,201,127,.18)}
.flogo-txt{display:flex;flex-direction:column;line-height:1;gap:1px}
.flogo-viva{font-family:'Syne',sans-serif;font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:.04em;line-height:1}
.flogo-mangue{font-family:'Syne',sans-serif;font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:.04em;line-height:1}
.flogo-bio{font-family:'Syne',sans-serif;font-size:.48rem;font-weight:600;color:var(--g5);letter-spacing:.18em;margin-top:3px;line-height:1}
.ftag{font-size:13px;color:rgba(245,242,236,.42);line-height:1.75;max-width:215px}
.fcol h4{font-family:'Syne',sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,242,236,.6);margin-bottom:17px}
.fcol ul{list-style:none}
.fcol li{margin-bottom:8px}
.fcol a{color:rgba(245,242,236,.6);text-decoration:none;font-size:13.5px;transition:color .2s}
.fcol a:hover{color:var(--g5)}
.fcon p{font-size:13.5px;color:rgba(245,242,236,.55);line-height:1.9}
.fcon a{color:rgba(245,242,236,.55);text-decoration:none;transition:color .2s}
.fcon a:hover{color:var(--g5)}
.fbt{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.fbt p{font-size:12px;color:rgba(245,242,236,.22)}

/* ── RESPONSIVE GLOBAL ── */
@media(max-width:900px){
  .ftg{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:640px){
  .nav-ul{display:none}
  .hbg{display:flex}
  .ftg{grid-template-columns:1fr}
  .hero-page{padding:0 5% 56px}
  .hero-h1{font-size:2.4rem}
}
