/* LF Importadora LTDA - estilos responsivos, acessíveis e performáticos */
:root {
  --bg: #F7F9FA;
  --text: #0B3D3A;
  --muted: #4A6462;
  --primary: #0B3D3A;
  --secondary: #1F6F68;
  --accent: #F0B429;
  --card: #FFFFFF;
  --border: #E1E6E8;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; color:var(--text); background:var(--bg); line-height:1.6; }
img { max-width:100%; height:auto; }

.container { max-width: 1100px; margin: 0 auto; padding: 0 1rem; }
.skip-link { position:absolute; left:-999px; top:-999px; background:#fff; color:#000; padding:.5rem; }
.skip-link:focus { left:1rem; top:1rem; z-index:1000; }

.site-header { position: sticky; top:0; z-index: 999; background: #fff; border-bottom: 1px solid var(--border); }
.header-inner { display:flex; align-items:center; justify-content:space-between; min-height:64px; }
.logo img { display:block; }
.site-nav ul { display:flex; gap: 1rem; list-style:none; margin:0; padding:0; }
.site-nav a { display:block; padding:.5rem .75rem; color:var(--text); text-decoration:none; border-radius:.375rem; }
.site-nav a.active, .site-nav a:focus, .site-nav a:hover { background: #EEF3F4; }
.nav-toggle { display:none; }
@media (max-width: 768px) {
  .nav-toggle { display:inline-block; }
  .site-nav ul { display:none; }
  .site-nav[data-open="true"] ul { display:flex; flex-direction:column; background:#fff; padding:1rem; }
}

.hero { padding: 5rem 0 3rem; background: linear-gradient(135deg, #eaf2f2 0%, #ffffff 100%); }
.hero h1 { font-size: clamp(1.8rem, 2.6vw, 2.6rem); margin:0 0 .5rem; }
.subtitle { color: var(--muted); margin-bottom: 1rem; }
.cta-group { display:flex; gap:.75rem; flex-wrap:wrap; }

.btn { display:inline-block; padding:.75rem 1rem; border-radius:.5rem; border:1px solid var(--border); background:#fff; color:var(--text); text-decoration:none; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,.08); }
.btn.primary { background: var(--primary); color:#fff; border-color: var(--primary); }
.btn.secondary { background: var(--secondary); color:#fff; border-color: var(--secondary); }
.btn.link { background:transparent; border-color:transparent; color: var(--secondary); }

section { padding: 2.5rem 0; }
.grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:1rem; }
.card { background: var(--card); border:1px solid var(--border); border-radius:.75rem; padding:1rem; box-shadow:0 2px 6px rgba(0,0,0,.04); transition: transform .2s ease, box-shadow .2s ease; }
.card:hover { transform: translateY(-3px); box-shadow:0 8px 18px rgba(0,0,0,.08); }
.steps { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:1rem; }

.site-footer { padding: 2rem 0; background:#fff; border-top:1px solid var(--border); margin-top:2rem; }
.footer-inner p, .footer-inner nav { margin:.25rem 0; }

.back-to-top { position:fixed; right:1rem; bottom:1rem; padding:.5rem .75rem; border-radius:.5rem; border:1px solid var(--border); background:#fff; display:none; }
.back-to-top.show { display:inline-block; }

/* Reveal animations */
.reveal { opacity:0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in-view { opacity:1; transform: none; }

/* Form */
.form-row { margin-bottom:1rem; }
label { display:block; font-weight:600; margin-bottom:.375rem; }
input[type="text"], input[type="tel"], textarea { width:100%; padding:.625rem .75rem; border:1px solid var(--border); border-radius:.5rem; background:#fff; color:var(--text); }
.form-actions { margin-top:.5rem; }
.form-status { margin-top:.75rem; color: var(--secondary); }
.consent { display:flex; gap:.5rem; align-items:flex-start; }
.consent label a { color: var(--secondary); }

/* Legal pages */
main.legal h1 { margin-bottom:1rem; }
main.legal h2 { margin-top:1.25rem; }
.update { color: var(--muted); }

/* Cookie banner */
.cookie-banner { position: fixed; left: 0; right: 0; bottom: 0; background:#fff; border-top:1px solid var(--border); box-shadow:0 -8px 16px rgba(0,0,0,.06); }
.cookie-content { max-width: 1100px; margin: 0 auto; padding: 1rem; }
.cookie-actions { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.5rem; }

/* Accessibility helpers */
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }