*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Nunito', sans-serif;
  background:var(--page-bg);
  color:var(--text);
  line-height:1.6;
}

/* LINKS */
a{
  color:var(--link);
  text-decoration:none;
  font-weight:900;
}

a:hover{
  text-decoration:underline;
}

/* BOTONES */
.btn{
  padding:0.75rem 1.4rem;
  font-weight:900;
  border-radius:14px;
  border:none;
  cursor:pointer;
  transition:0.2s;
  font-size:0.95rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
}

.btn-primary{
  background:var(--btn-bg);
  color:var(--btn-text);
}

.btn-primary:hover{
  opacity:0.92;
  transform:translateY(-2px);
}

.btn-outline{
  background:transparent;
  border:2px solid var(--btn-bg);
  color:var(--btn-bg);
}

.btn-outline:hover{
  background:var(--btn-bg);
  color:var(--btn-text);
}

/* INPUTS */
input, textarea{
  font-family:'Nunito', sans-serif;
  font-weight:700;
  border-radius:12px;
  padding:0.8rem 1rem;
  border:2px solid var(--card-border);
  outline:none;
  width:100%;
  background:rgba(255,255,255,0.65);
  color:var(--text);
}

body.dark-mode input,
body.dark-mode textarea{
  background:rgba(255,255,255,0.05);
}

input:focus,
textarea:focus{
  border-color:var(--btn-bg);
}
