/* FisGest Styles v2 */
:root{
  --brand:#203255;
  --brand-ink:#16233b;
  --bg:#ffffff;
  --bg-alt:#f5f7fb;
  --text:#1c2333;
  --muted:#5b6886;
  --card:#ffffff;
  --border:#e6eaf4;
  --radius:16px;
  --shadow:0 10px 30px rgba(18,28,54,.06);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.55}

img{max-width:100%;display:block;border-radius:12px}

.wrap{max-width:1100px;margin:0 auto;padding:0 18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}

h1,h2,h3{color:var(--brand-ink);margin:0 0 8px}
h1{font-size:2rem}
h2{font-size:1.5rem;margin-bottom:12px}
h3{font-size:1.05rem}

.lead{color:var(--muted)}

.btn{display:inline-flex;gap:8px;align-items:center;justify-content:center;height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--brand);font-weight:700;text-decoration:none}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn:hover{filter:brightness(0.98)}

.ticks{list-style:none;padding-left:0;margin:0}
.ticks li{position:relative;padding-left:26px;margin:8px 0}
.ticks li::before{ padding-left:10px; content:'✓';position:absolute;left:0;top:0;color:var(--brand);font-weight:800}

.note{color:var(--muted);font-size:.9rem;margin-top:8px}

.grid{display:grid;gap:14px}
.grid.cols-2{grid-template-columns:1fr}
@media (min-width:800px){.grid.cols-2{grid-template-columns:1fr 1fr}}

.cards .feature img{width:100%;height:auto;margin-bottom:10px}

.price{font-size:1.8rem;font-weight:800;color:var(--brand)}
.plan{display:flex;flex-direction:column;gap:10px}
.plan.highlight{border-width:2px}

.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:164px;height:auto;display:block} /* logo maior e só imagem */

.main-nav .wrap{display:grid;gap:2px}
.main-nav a{padding:14px 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}
.main-nav a.cta{margin-top:8px;background:var(--brand);color:#fff;border-radius:10px;text-align:center;border:none;padding:12px}

.menu-btn{background:transparent;border:0;width:44px;height:44px;display:grid;place-items:center;border-radius:10px}
.menu-btn .bar{display:block;width:22px;height:2px;background:var(--brand-ink);margin:3px 0;border-radius:4px}

/* Hide hamburger on desktop */
@media (min-width:900px){ .menu-btn{display:none} }

.hero{background:linear-gradient(180deg,#ffffff 0%, var(--bg-alt) 100%);padding:28px 0}
.hero-inner{display:grid;gap:14px}
.hero-media img{border-radius:16px}
.hero-text h1{font-size:2rem}
.hero .proofs{margin:12px 0 0 16px}
.hero .proofs li{margin:6px 0}
.price-callout{margin-top:10px;padding:10px 12px;background:#fff;border:1px dashed var(--border);border-radius:12px}
.trust{margin-top:8px;color:var(--muted)}

.section{padding:28px 0}
.section.alt{background:var(--bg-alt)}

.steps{margin:0;list-style:decimal;padding-left:28px}
.steps li{margin:6px 0}

.form label{display:grid;gap:6px;margin-bottom:10px}
.form input,.form textarea{padding:12px 14px;border:1px solid var(--border);border-radius:12px;font:inherit}
.form textarea{min-height:120px;resize:vertical}

.site-footer{border-top:1px solid var(--border);padding:18px 0;background:#fff}
.footer-row{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.footer-links{display:flex;gap:14px}

.bottom-cta{position:fixed;left:0;right:0;bottom:0;border-top:1px solid var(--border);background:rgba(255,255,255,.9);backdrop-filter:blur(6px);padding:10px;z-index:80}
.bottom-cta .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px}
@media (min-width:900px){.bottom-cta{display:none}}

@media (min-width:900px){
  h1{font-size:2.4rem}
  .hero-inner{grid-template-columns:1.1fr 1fr;align-items:center}
    .main-nav .wrap{display:flex;gap:16px;align-items:center;justify-content:flex-end}
  .main-nav a{border:0;padding:14px}
}

/* --- Alignment fixes v3 --- */
.brand{line-height:0}

@media (min-width:900px){
  /* Put logo and nav on the same row using CSS grid */
        .main-nav .wrap{display:flex;gap:18px;align-items:center;justify-content:flex-end}
  .main-nav a{border:0;padding:12px 8px;line-height:1}
}

/* --- Header centering v4 --- */
.header-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  height:72px;
}
.site-header{
  position:sticky; top:0; z-index:60; background:#fff; border-bottom:1px solid var(--border);
  display:flex; justify-content:center; /* centra o bloco (.wrap) no ecrã */
}
.brand{line-height:0}
.brand img{width:164px; height:auto; display:block}



a{ text-decoration:none; color:var(--text)}



/* mobile nav (default) */
.main-nav{display:none; position:absolute; left:0; right:0; top:72px; background:#fff; border-top:1px solid var(--border);}
.main-nav a{display:block; padding:14px 18px; border-bottom:1px solid var(--border); text-decoration:none; color:var(--text)}
.main-nav .cta{margin:8px 18px; text-align:center; background:var(--brand); color:#fff; border-radius:10px; padding:12px; border:0}
.main-nav.open{display:block}

/* desktop */
@media (min-width:900px){
  .menu-btn{display:none}
  .main-nav{position:static; display:flex; border:0; gap:18px; align-items:center}
  .main-nav a{border:0; padding:12px 8px}
  .main-nav .cta{margin:0}
}
